网站首页 > 基础教程 正文
WordPress 4.0的一个亮点就是JSON API的加入,今天我们提前来看看怎么获取JSON的内容并显示出来。过程就是用PHP获取远程JSON的内容,然后把获取到的JSON转化为PHP对象,然后循环输出内容。通过PHP和WordPress HTTP API 的方式都可以实现,我们先来看一下这两种方式的实现代码。
PHP fopen方式
< ?php
$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 API很方便的实现上面的功能。
< ?php
$content = wp_remote_retrieve_body( wp_remote_get(‘http://yoursite.com/news‘) );
$content_obj = json_decode($content); #JSON内容转换为PHP对象
?>
可以看出,WordPress的方法实在是太简单了,一行代码就实现了PHPfopen方法几行的功能,并且功能更加语义化,理解起来更容易。
显示获取的内容
已经获取了JSON的内容,并转化为了PHP对象,显示的时候直接循环输出对象的内容就可以了。
< ?php foreach ($content_obj->data as $key) { ?>
< ?php echo $key->title; ?>
< ?php } ?>
适当的格式化上面的文字,显示出来的效果和直接调用WordPress内容是一样的。
具体说明:http://wphun.com/f/wp_remote_retrieve_body
源文件:
wp_remote_retrieve_body() 函数的代码位于 wp-includes/http.php
function wp_remote_retrieve_body( $response ) {
if ( is_wp_error($response) || ! isset($response['body']) ) return '';
return $response['body'];
}
猜你喜欢
- 2024-10-12 六种流行语言(C、C++、Python、JavaScript、PHP、Java)对比
- 2024-10-12 「讨论」php与Python之间有何区别?Python和php之间的简单比较
- 2024-10-12 PHP获取目录中的全部内容 php获取目录列表
- 2024-10-12 重蔚自留地php学习第三十天——php数组
- 2024-10-12 脚把脚教你消息队列,典型的应用场景到底有哪些?
- 2024-10-12 php-生成器(yield) php生成html
- 2024-10-12 PHP——数组根据某一键值合并 php 数组 合并
- 2024-10-12 php 一步步实现mvc架构——view篇
- 2024-10-12 PHP函数shuffle()取数组若干个随机元素的方法及实例分析
- 2024-10-12 WordPress 主循环和全局变量 wordpress主题
- 05-03【Docker】部署 Elasticsearch(docker运行elasticsearch)
- 05-03若依框架改造,阿里docker部署(若依框架开发教程)
- 05-03软件测试/测试开发丨必知必会的Docker 命令
- 05-03如何从主机复制文件到Docker容器(如何从主机复制文件到docker容器里)
- 05-03Windows搭建Agent开发平台-WSL2+Dify本地部署及开发指南
- 05-03docker安装prometheus和grafana(docker如何安装)
- 05-03从Docker容器复制文件到主机的方法
- 05-03在Debian Docker环境一键部署Dify:手把手教你搭建本地AI应用平台
- 最近发表
-
- 【Docker】部署 Elasticsearch(docker运行elasticsearch)
- 若依框架改造,阿里docker部署(若依框架开发教程)
- 软件测试/测试开发丨必知必会的Docker 命令
- 如何从主机复制文件到Docker容器(如何从主机复制文件到docker容器里)
- Windows搭建Agent开发平台-WSL2+Dify本地部署及开发指南
- docker安装prometheus和grafana(docker如何安装)
- 从Docker容器复制文件到主机的方法
- 在Debian Docker环境一键部署Dify:手把手教你搭建本地AI应用平台
- 【Docker】部署Jira&Confluence
- 精辟!阿里大牛泪解:docker镜像制作——构建企业镜像LAMP+BBS
- 标签列表
-
- 菜鸟教程 (58)
- jsp (69)
- pythonlist (60)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- pythonif (68)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)