wordpress 通过 rest api 获取数据

一、关于WP REST API

wordpress已经不仅仅是一个博客网站程序,而是一个强大的CMS系统。开源、完善的社区、丰富的接口等等优势正将wordpress推向更高更广泛的领域。

WP REST API 是wordpress的一个插件,为wordpress提供对外标准的RESTFul接口,随着RESTFul的畅行和各种前端框架的出现,WP REST API可以让wordpress不仅仅存在WEB端,可以让wordpress不仅仅履行一个博客功能,而是可以让wordpress程序作为后台终端(BackEnd),然后以各种应用的形式实现在各种各样的设备中。

二、WP Rest API 安装与使用

既然现在的WP REST API是以一个插件形式存在,那么安装就显得非常简单了。

直接在wordpress 插件中搜索”WordPress REST API” ,选择安装“WordPress REST API (Version 2) ” ,安装完成后激活。另外,在wordpress后台“设置”》“固定链接”中设置固定连接为“文章名”。

OK。你的wordpress站点此时就已经有一个可以直接使用的API接口了。WP REST API 默认提供了一套常用的接口,包括文章,页面,文章版本,用户,媒体,文章类型,评论,分类,标签等。

比如,如果想要获取wordpress中最新的文章,你可以直接在浏览器中输入:

https://blog.jsauce.top/wp-json/wp/v2/posts

这时会返回195440站点最新的十篇文章。

如果想获取指定的文章(按文章ID),可以输入:

https://blog.jsauce.top/wp-json/wp/v2/posts/1423

这时可以得到ID为1的文章的详细数据。

更多的API接口的使用,我们放在本文第三部分讲。

网址后面的wp-json/wp/v2一串是是WP REST API自定义的命名空间(namespace)和路由。

注:本文介绍的是WP REST API V2 版本,wordpress 4.4以上版本

三、常用WP REST API 接口

1、文章

(1)获取最新文章(默认获取到最新的10篇文章)

https://blog.jsauce.top/wp-json/wp/v2/posts

https://blog.jsauce.top/wp-json/wp/v2/posts?page=1

效果相同,page用于指定页数,WP REST API 默认返回10条数据,用page指定数据获取的游标。如

https://blog.jsauce.top/wp-json/wp/v2/posts?page=2

可取回最新的第11条数据到第20条数据,以此类推。

(2)设置获取的每页文章数量及分页

https://blog.jsauce.top/wp-json/wp/v2/posts?filter[posts_per_page]=5

filter[posts_per_page]=5 用于指定返回文章每页的数量,这里指定每页数量为5篇。

filter[posts_per_page]与page联合使用:

https://blog.jsauce.top/wp-json/wp/v2/posts?filter[posts_per_page]=5&page=2

(3)获取指定分类的文章

https://blog.jsauce.top/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)获取指定标签的文章

https://blog.jsauce.top/wp-json/wp/v2/posts?filter[tag]=library

filter[tag]=library 指定标签名为“library”的文章

(5)获取指定分类和有指定标签的文章

https://blog.jsauce.top/wp-json/wp/v2/posts?filter[cat]=2&filter[tag]=library

上面两个结合一起,可以得到更具体精确的文章。

(6)获取指定日期的文章

https://blog.jsauce.top/wp-json/wp/v2/posts?filter[year]=2016&filter[monthnum]=03

filter[year]=2016&filter[monthnum]=03 设置指定的日期

(7)获取指定作者的文章

https://blog.jsauce.top/wp-json/wp/v2/posts?filter[author_name]=jinyun

filter[author_name]=jinyun设置指定作者名字

(8)按关键词搜索文章

https://blog.jsauce.top/wp-json/wp/v2/posts?filter[s]=wordpress 

filter[s]=wordpress :按给定的关键词搜索文章,返回包含“wordpress”关键词的文章。

(9)获取随机文章

https://blog.jsauce.top/wp-json/wp/v2/posts?filter[orderby]=rand

其中orderby还可以为指定的字段排序

(10)获取相关文章

在网站中,在做SEO优化和页面内容布局时,获取相关文章是比较常见的,可以通过以上几个条件组合来达到获取相关文章的效果。

按标签获取相关文章:

https://blog.jsauce.top/wp-json/wp/v2/posts?filter[orderby]=rand&filter[tag]=library&filter[posts_per_page]=6

按分类获取相关文章:

https://blog.jsauce.top/wp-json/wp/v2/posts?filter[orderby]=rand&filter[cat]=2&filter[posts_per_page]=6

(11)获取指定文章的数据

https://blog.jsauce.top/wp-json/wp/v2/posts/189

得到ID为189的文章数据

2、分类和标签

(1)获取所有的分类

https://blog.jsauce.top/wp-json/wp/v2/categories

(2)获取指定分类ID的分类信息

https://blog.jsauce.top/wp-json/wp/v2/categories/2

(3)获取所有的标签

https://blog.jsauce.top/wp-json/wp/v2/tags

(4)获取指定标签ID的标签信息

https://blog.jsauce.top/wp-json/wp/v2/tags/3

3、媒体文件

(1)获取所有的媒体信息

https://blog.jsauce.top/wp-json/wp/v2/media

(2)获取指定媒体ID的媒体信息

https://blog.jsauce.top/wp-json/wp/v2/media/17

4、页面

(1)获取所有的页面信息

https://blog.jsauce.top/wp-json/wp/v2/pages

(2)获取指定页面ID的页面信息

https://blog.jsauce.top/wp-json/wp/v2/pages/1143

5、类型

(1)获取当前wordpress所有的内容类型

https://blog.jsauce.top/wp-json/wp/v2/types

一般情况下会返回post,page和attachment三种类型

(2)获取指定类型

https://blog.jsauce.top/wp-json/wp/v2/types/post

6、评论

(1)获取所有评论信息

https://blog.jsauce.top/wp-json/wp/v2/comments

(2)获取指定评论ID的单条评论信息

https://blog.jsauce.top/wp-json/wp/v2/comments/2

7、用户

(1)获取所有的用户信息

https://blog.jsauce.top/wp-json/wp/v2/users

(2)获取指定用户ID的用户信息

https://blog.jsauce.top/wp-json/wp/v2/users/1

QQ群(天诺国服交流群,非氏族群):624789577

本文标题:wordpress 通过 rest api 获取数据

本文链接:https://blog.jsauce.top/123.html

投稿、侵权、有问题联系幻想 QQ:1260435972 - 邮箱:yz2002@88.com
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇