WordPress REST API 常用接口大全
WordPress REST API 是一种基于 HTTP 协议的 API,可以让我们以 JSON 格式获取 WordPress 站点的数据。如果你了解 REST API 的基本概念,那么就可以很方便地使用 WordPress REST API 来完成一些功能。下面是 WordPress REST API 中比较常用的一些接口大全,以及一些示例代码和说明。
1. 获取文章列表
通过调用 wp/v2/posts
接口可以获取文章列表,该接口可以加上多个参数以实现筛选排序等功能。
示例代码:
fetch('https://example.com/wp-json/wp/v2/posts')
.then(response => response.json())
.then(posts => {
// do something with the posts
});
2. 获取单篇文章
通过调用 wp/v2/posts/{id}
接口可以获取某篇文章的详细信息,例如标题、内容、作者、发布时间等。
示例代码:
fetch('https://example.com/wp-json/wp/v2/posts/1')
.then(response => response.json())
.then(post => {
// do something with the post
});
3. 获取页面列表
通过调用 wp/v2/pages
接口可以获取页面列表,与获取文章列表类似。
示例代码:
fetch('https://example.com/wp-json/wp/v2/pages')
.then(response => response.json())
.then(pages => {
// do something with the pages
});
4. 获取单个页面
通过调用 wp/v2/pages/{id}
接口可以获取某个页面的详细信息,与获取单篇文章类似。
示例代码:
fetch('https://example.com/wp-json/wp/v2/pages/1')
.then(response => response.json())
.then(page => {
// do something with the page
});
5. 获取分类列表
通过调用 wp/v2/categories
接口可以获取分类列表,分类也可以加上多个参数进行筛选。
示例代码:
fetch('https://example.com/wp-json/wp/v2/categories')
.then(response => response.json())
.then(categories => {
// do something with the categories
});
6. 获取单个分类
通过调用 wp/v2/categories/{id}
接口可以获取某个分类的详细信息。
示例代码:
fetch('https://example.com/wp-json/wp/v2/categories/1')
.then(response => response.json())
.then(category => {
// do something with the category
});
7. 获取标签列表
通过调用 wp/v2/tags
接口可以获取标签列表。
示例代码:
fetch('https://example.com/wp-json/wp/v2/tags')
.then(response => response.json())
.then(tags => {
// do something with the tags
});
8. 获取单个标签
通过调用 wp/v2/tags/{id}
接口可以获取某个标签的详细信息。
示例代码:
fetch('https://example.com/wp-json/wp/v2/tags/1')
.then(response => response.json())
.then(tag => {
// do something with the tag
});
9. 获取评论列表
通过调用 wp/v2/comments
接口可以获取评论列表。
示例代码:
fetch('https://example.com/wp-json/wp/v2/comments')
.then(response => response.json())
.then(comments => {
// do something with the comments
});
10. 获取单个评论
通过调用 wp/v2/comments/{id}
接口可以获取某个评论的详细信息。
示例代码:
fetch('https://example.com/wp-json/wp/v2/comments/1')
.then(response => response.json())
.then(comment => {
// do something with the comment
});
结语
以上是 WordPress REST API 的常用接口大全,希望可以帮助到大家。除了上面提到的接口,WordPress REST API 中还有很多其他的接口,建议大家可以去官方文档查看更多信息。
其他类似参考获取数据:
此段介绍WP REST API 常用的获取数据(GET)的接口,提交数据因涉及到较为复杂的认证,此篇文章限于篇幅,后面看情况,再计划出一篇专门的WP REST API认证的文章单独介绍。
注:本文介绍的是WP REST API V2 版本,wordpress 4.4以上版本
1、文章
(1)获取最新文章(默认获取到最新的10篇文章)
http://www.website.com/wp-json/wp/v2/posts
与
http://www.website.com/wp-json/wp/v2/posts?page=1
效果相同,page用于指定页数,WP REST API 默认返回10条数据,用page指定数据获取的游标。如
http://www.website.com/wp-json/wp/v2/posts?page=2
可取回最新的第11条数据到第20条数据,以此类推。
(2)设置获取的每页文章数量及分页
http://www.website.com/wp-json/wp/v2/posts?filter[posts_per_page]=5
filter[posts_per_page]=5 用于指定返回文章每页的数量,这里指定每页数量为5篇。
filter[posts_per_page]与page联合使用:
http://www.website.com/wp-json/wp/v2/posts?filter[posts_per_page]=5&page=2
(3)获取指定分类的文章
http://www.website.com/wp-json/wp/v2/posts?filter[cat]=2
filter[cat]=2 指定分类ID为2 ,返回分类ID为2的文章。
分类ID是每个分类目录在创建时自动生成的ID,在wordpress后台“文章”==》“分类目录”中,把鼠标放在分类名称上面,页面下方会出现一个网址,网址中的参数tag_ID=2就是这个分类名称的分类ID。如果没有出现网址,可以点击分类名称下的“编辑”,然后查看网页地址栏,同样可以得到tag_ID=2。下面的标签ID的获得方法也一样。
(4)获取指定标签的文章
http://www.website.com/wp-json/wp/v2/posts?filter[tag]=library
filter[tag]=library 指定标签名为“library”的文章
(5)获取指定分类和有指定标签的文章
http://www.website.com/wp-json/wp/v2/posts?filter[cat]=2&filter[tag]=library
上面两个结合一起,可以得到更具体精确的文章。
(6)获取指定日期的文章
http://www.website.com/wp-json/wp/v2/posts?filter[year]=2016&filter[monthnum]=03
filter[year]=2016&filter[monthnum]=03 设置指定的日期
(7)获取指定作者的文章
http://www.website.com/wp-json/wp/v2/posts?filter[author_name]=jinyun
filter[author_name]=jinyun设置指定作者名字
(8)按关键词搜索文章
http://www.website.com/wp-json/wp/v2/posts?filter[s]=金云
filter[s]=金云 :按给定的关键词搜索文章,返回包含“金云”关键词的文章。
(9)获取随机文章
http://www.website.com/wp-json/wp/v2/posts?filter[orderby]=rand
其中orderby还可以为指定的字段排序
(10)获取相关文章
在网站中,在做SEO优化和页面内容布局时,获取相关文章是比较常见的,可以通过以上几个条件组合来达到获取相关文章的效果。
按标签获取相关文章:
http://www.website.com/wp-json/wp/v2/posts?filter[orderby]=rand&filter[tag]=library&filter[posts_per_page]=6
按分类获取相关文章:
http://www.website.com/wp-json/wp/v2/posts?filter[orderby]=rand&filter[cat]=2&filter[posts_per_page]=6
(11)获取指定文章的数据
http://www.website.com/wp-json/wp/v2/posts/189
得到ID为189的文章数据
2、分类和标签
(1)获取所有的分类
http://www.website.com/wp-json/wp/v2/categories
(2)获取指定分类ID的分类信息
http://www.website.com/wp-json/wp/v2/categories/2
(3)获取所有的标签
http://www.website.com/wp-json/wp/v2/tags
(4)获取指定标签ID的标签信息
http://www.website.com/wp-json/wp/v2/tags/3
3、媒体文件
(1)获取所有的媒体信息
http://www.website.com/wp-json/wp/v2/media
(2)获取指定媒体ID的媒体信息
http://www.website.com/wp-json/wp/v2/media/17
4、页面
(1)获取所有的页面信息
http://www.website.com/wp-json/wp/v2/pages
(2)获取指定页面ID的页面信息
http://www.website.com/wp-json/wp/v2/pages/289
5、类型
(1)获取当前wordpress所有的内容类型
http://www.website.com/wp-json/wp/v2/types
一般情况下会返回post,page和attachment三种类型
(2)获取指定类型
http://www.website.com/wp-json/wp/v2/types/post
6、评论
(1)获取所有评论信息
http://www.website.com/wp-json/wp/v2/comments
(2)获取指定评论ID的单条评论信息
http://www.website.com/wp-json/wp/v2/comments/2
7、用户
(1)获取所有的用户信息
http://www.website.com/wp-json/wp/v2/users
(2)获取指定用户ID的用户信息
http://www.website.com/wp-json/wp/v2/users/1
以上即是WP REST API 内置API接口最为常用的接口数据获取方法。