基于wp_emote_Get输出的IF条件

时间:2020-10-10 作者:Ava Juan

我正在开发一个插件,用于根据API中显示的字母显示内容。我想根据API返回的A或B显示内容。

我在这里创建了一个API:https://randletter2020.herokuapp.com

API一次仅显示A或B。

这是我创建的插件代码。我不知道我做错了什么"E;“A赢”;未在中显示[letter] 我不知道API是否正在ping。

我有一点编码知识。不是专家。请帮助我修复代码中的问题。提前谢谢。

<?php
/**
* Plugin Name: Based on Random Letter
* Plugin URI: https://randletter2020.herokuapp.com
* Description: Desc.
* Version: 1.0
* Author: Ava
* Author URI: https://randletter2020.herokuapp.com
**/
ob_start();
function initapi(){
$api_url = "https://randletter2020.herokuapp.com";
$wp_response = wp_remote_get($api_url);
if($wp_response){
$contents = wp_remote_retrieve_body($wp_response);
}

if ($contents) {
$json = json_decode($contents, 1);
if ($json == "a") {

function set_letter(){
  $letter = "A Wins";
  return $letter;
}
add_shortcode(\'letter\', \'set_letter\');
}
else {   
        return false;
        //Do nothing
   }
 }
}
add_action( \'rest_api_init\', \'initapi\' ); 

1 个回复
SO网友:Ankit

下面是您可能想要尝试的修订示例代码。

function display_api_response() {
    $api_url = "https://randletter2020.herokuapp.com";
$response = wp_remote_get($api_url);
   if ( 200 === wp_remote_retrieve_response_code($response) ) {
        $body = wp_remote_retrieve_body($response);

        if ( \'a\' === $body ) {
          echo \'A wins\';
        }else {
          // Do something else.
        }
   }
}
add_action( \'init\', \'display_api_response\' );
在这里,您可能需要替换init 采取其他适合您需求的措施。

有关适当的操作,请参阅wp挂钩:https://codex.wordpress.org/Plugin_API/Action_Reference

相关推荐

If statement shortcode

因此,我创建了一个短代码来返回一些ACF内容。以下代码起作用:function howitworks() { $page = get_page_by_title(\'shop\'); if (have_rows(\'steps\', $page->ID)) : while (have_rows(\'steps\', $page->ID)) : the_row(); $image = get_sub_fiel