在Wordpress页面和小部件中进行简单的Rest API调用

时间:2016-08-14 01:08:32

标签: wordpress api rest

我正在尝试对需要在Wordpress页面/小部件中呈现数据的网站进行简单的api调用。

我创建了一个新页面,并将此代码放在我的信息中心的编辑框中:

<?php 
$response = wp_remote_get( 'https://jsonplaceholder.typicode.com/posts/2' );
if( is_array($response) ) {
  $header = $response['headers'];
  $body = $response['body'];
}
print($response);
print($header);
print($body);
?>

我的Wordpress UI上没有任何内容呈现。

是的,我在我的本地环境中(使用MAMP)。

1 个答案:

答案 0 :(得分:1)

解决方案:

在插件目录中创建一个文件夹,并创建一个包含api调用的.php文件。

您的结构将如下所示:

class Api extends WP_Widget {

function __construct() {
    $options = array(
        'description' => '',
        'name' => ''
    );
    parent::__construct('Api', 'Widget', $options);
}

public function form($instance) {

    extract($instance);
    // Put your HTML widget form here
}

public function widget($args, $instance) {
    extract($args);
    extract($instance);
    $data = $this->get_api_call($args);
}

public function get_api_call($args) {
    $api = wp_remote_get("http://www.example.com/json/");
    $json_api = json_decode(stripslashes($api['body']));

    return $json_api;
}
}

这是一个基本的大纲实例,您必须根据您在此处的确切需要自定义所有内容。