WordPress REST API 开发

2019年03月12日Web前端

虽然wordpress是用php混合开发的,但是他也提供了rest api供调用,因此在这强大的后端基础上,又可以开发很多新式的客户端,比如基于React或Vue的前后端分离的项目,当然,微信小程序也可以的。

由于本站点已经从wordpress切换成Gatsby了,以下链接已经失效了。你可以尝试对其他wordpress站点进行API访问或本地搭建个wordpress。

一、测试

该功能在4.7以上的版本已经是完全支持了,在使用前,其实可以用来测试下。直接载url中输入http://www.zhuyuntao.cn/wp-json/wp/v2,记得换上自己的域名,如果能访问到数据(装个格式化插件,看起来更舒服),那么restful api功能就是已经打开了,就可以直接使用了。

二、api

对照格式化后的json,看下wp提供的接口。比如以下:

key值是对应的url地址,整个连起来就是http://www.zhuyuntao.cn/wp-json/wp/v2/posts, methods是接口获取方式,args是一些参数,对应的key值则是参数名称。required则是是否必须,default就是默认值了,如果不明白这参数啥含义,可以看description字段,type则是类型,enum则是值的可选范围。 按照这种方式去整理接口。

获取文章

http://www.zhuyuntao.cn/wp-json/wp/v2/posts?page=1&per_page=10

  • page,第几页,从1开始。
  • per_page,每页几篇文章。
  • status,表示文章状态的,一般设置publish就好了,毕竟那些未完成的草稿可不想给他人看到。

个人觉得这几个参数就够用了。

获取页面

http://www.zhuyuntao.cn/wp-json/wp/v2/pages?page=1&per_page=10

参数同上。

获取媒体

http://www.zhuyuntao.cn/wp-json/wp/v2/media?page=1&per_page=20

参数同上。

获取文章分类目录

http://www.zhuyuntao.cn/wp-json/wp/v2/categories?page=1&per_page=20

参数同上。

获取文章标签

http://www.zhuyuntao.cn/wp-json/wp/v2/tags?page=1&per_page=20

参数同上。 差不多了。。感觉这些接口够用了。

wordpress官网有提供了api的详细内容,地址:https://developer.wordpress.org/rest-api/ 。