通过 WordPress HTTP API 获取 Restful API 的 JSON 返回内容并解析


WordPress 4.0 马上出来了,一个亮点就是 Restful API 的加入,今天我们提前来看看怎么获取 Restful API 的 JSON 的内容并显示出来。过程就是用 PHP 获取远程 JSON 的内容,然后把获取到的 JSON 转化为 PHP 对象,然后循环输出内容。通过 PHP 和 WordPress HTTP API 的方式都可以实现,我们先来看一下这两种方式的实现代码。

PHP fopen 方式

$handle = fopen("http://yoursite.com/news","rb");

$content = "";

while (!feof($handle)) {
    $content .= fread($handle, 10000);
}

fclose($handle);

$content_array = json_decode($content);  #JSON内容转换为PHP对象

WordPress HTTP API 方式

WordPress 给我们提供一套很方便的 HTTP API(详细使用方法参考 [WordPress HTTP API](http://codex.wordpress.org/HTTP_API)),我们可以使用 HTTP API 很方便的实现上面的功能。

$content = wp_remote_retrieve_body( wp_remote_get('http://yoursite.com/news'));    
$content_obj = json_decode($content); #JSON内容转换为PHP对象

可以看出,WordPress 的方法是在是太简单了,一行代码就实现了 PHPfopen 方法几行的功能,并且功能更加语义化,理解起来更容易。

显示获取的内容

已经获取了 JSON 的内容,并转化为了 PHP 对象,显示的时候直接循环输出对象的内容就可以了。

foreach ($content_obj->data as $key) 
    echo $key->title;
}

适当的格式化上面的文字,显示出来的效果和直接调用 WordPress 内容是一样的。

  • 分享:
评论
还没有评论
    发表评论 说点什么