wordpress已经不仅仅是一个博客网站程序,而是一个强大的CMS系统。开源、完善的社区、丰富的接口等等优势正将wordpress推向更高更广泛的领域。
WP REST API 是wordpress的一个插件,为wordpress提供对外标准的RESTFul接口,随着RESTFul的畅行和各种前端框架的出现,WP REST API可以让wordpress不仅仅存在WEB端,可以让wordpress不仅仅履行一个博客功能,而是可以让wordpress程序作为后台终端(BackEnd),然后以各种应用的形式实现在各种各样的设备中。
这里引用WP REST API V2 官网(http://v2.wp-api.org/)的一段介绍:
This plugin provides an easy to use REST API, available via HTTP. Grab your site’s data in simple JSON format, including users, posts, taxonomies and more. Retrieving or updating data is as simple as sending a HTTP request.
WP REST API 最新的是第二个版本(V2),而在wordpress的最新版本4.4中,也已经内置了WP REST API的部分功能和实现,在不久的将来,也许是wordpress 4.5 或 4.6版本中,将会把WP REST API 完全植入。
非常激动,拭目以待。
二、WP Rest API 安装与使用
既然现在的WP REST API是以一个插件形式存在,那么安装就显得非常简单了。
直接在wordpress 插件中搜索”WordPress REST API” ,选择安装“WordPress REST API (Version 2) ” ,安装完成后激活。另外,在wordpress后台“设置”》“固定链接”中设置固定连接为“文章名”。
OK。你的wordpress站点此时就已经有一个可以直接使用的API接口了。WP REST API 默认提供了一套常用的接口,包括文章,页面,文章版本,用户,媒体,文章类型,评论,分类,标签等。
比如,如果想要获取wordpress中最新的文章,你可以直接在浏览器中输入:
如果想获取指定的文章(按文章ID),可以输入:
更多的API接口的使用,我们放在本文第三部分讲。
网址后面的wp-json/wp/v2一串是是WP REST API自定义的命名空间(namespace)和路由。在目前阶段,我们先不用去管命令空间和路由是什么,先学会操作WP REST API内置给我们使用的这些API接口。这些API接口的参考可以在WP REST API Reference 找到。
注:本文介绍的是WP REST API V2 版本,wordpress 4.4以上版本
三、工具
在介绍WP REST API 接口前,我们先介绍一个非常有用的工具— Postman。
四、常用WP REST API 接口使用介绍(获取数据)
此段介绍WP REST API 常用的获取数据(GET)的接口,提交数据因涉及到较为复杂的认证,此篇文章限于篇幅,后面看情况,再计划出一篇专门的WP REST API认证的文章单独介绍。
1、文章
(1)获取最新文章(默认获取到最新的10篇文章)
(2)设置获取的每页文章数量及分页
filter[posts\_per\_page]与page联合使用:
分类ID是每个分类目录在创建时自动生成的ID,在wordpress后台“文章”==》“分类目录”中,把鼠标放在分类名称上面,页面下方会出现一个网址,网址中的参数tag\_ID=2就是这个分类名称的分类ID。如果没有出现网址,可以点击分类名称下的“编辑”,然后查看网页地址栏,同样可以得到tag\_ID=2。下面的标签ID的获得方法也一样。
(4)获取指定标签的文章
(5)获取指定分类和有指定标签的文章
(6)获取指定日期的文章
(7)获取指定作者的文章
(8)按关键词搜索文章
(9)获取随机文章
(10)获取相关文章
在网站中,在做SEO优化和页面内容布局时,获取相关文章是比较常见的,可以通过以上几个条件组合来达到获取相关文章的效果。
按标签获取相关文章:
2、分类和标签
(1)获取所有的分类
(1)获取所有的媒体信息
(1)获取所有的页面信息
(1)获取当前wordpress所有的内容类型
(2)获取指定类型
(1)获取所有评论信息
(1)获取所有的用户信息
五、文章数据分析
我们在第三部分讲了如何通过各种接口和参数去获取我们想要的东西,而对于获得到的东西,我们还不是十分了解,因此,有必要讲讲我们所获取的JSON数据到底是什么鬼。当然,作为我们只讲其中一种类型的数据即可,其他都是一样的看,无庸置疑,我们当然是讲最为常用的Post。
我们在使用
而当我们加上具体的ID后,如
下面,我们就来看一下一篇文章的JSON数据,上面的请求返回结果如下:
我们仔细看一下这个JSON内容后会发现,文章的特色图像是以特色图像的ID给出的,分类,标签也同样是以ID形式给出,如果我们想要得到这篇文章的特色图像和分类、标签这些信息,我们还要另外按前面介绍的接口去把这些信息找出来,很明显,这不但加大了工作量和整合难度,也增加了连接数,在实际开发中,会带来一定的性能问题,这是第一个问题。第二个问题,这么多的信息,我们不禁想问:“有必要吗?”,最经常的情况,在展示给用户浏览时,我们其实只需要ID(作为唯一识别,传值)、标题、摘要、内容、分类、标签、图片、作者、链接地址就够了。这么多的数据,如果不做优化,在传输时也带来数据加载的延迟。
因此,总结一下,WP REST API虽然给我们提供了这一套标准的接口,但也只能作为标准参考而已,在实际使用中,还需要根据实际情况做个性化定制。
个性化定制通常包括:自定义字段、修改返回结果及增加自定义路由等。本篇是入门篇,暂不涉及,将会在后面别文介绍。
六、资源
1、官方文档:http://v2.wp-api.org/
2、WP REST API 插件:https://wordpress.org/plugins/rest-api/
3、WP REST API Github : https://github.com/WP-API/WP-API
4、参考文章:
The REST API (and How It Could Change WordPress Forever)
评论1
暂时没有评论