分页
WordPress 站点可以包含很多内容——远远超过您希望在单个请求中下载的内容。API 端点默认为每个请求提供有限数量的项目,就像 WordPress 站点在存档视图中默认为每页 10 个帖子一样。
分页参数
任何包含多个资源的 API 响应都支持几个常见的查询参数来处理响应数据的分页:
-
?page=
: 指定要返回的结果页面。- 比如
/wp/v2/posts?page=2
是posts结果的第二页 - 通过检索
/wp/v2/posts
、 then/wp/v2/posts?page=2
等,您可以通过 API 访问每个可用的帖子,一次一页。
- 比如
-
?per_page=
:指定一次请求返回的记录数,指定为 1 到 100 之间的整数。- 例如,
/wp/v2/posts?per_page=1
将只返回集合中的第一篇文章
- 例如,
-
?offset=
:指定开始检索帖子的任意偏移量- 例如,
/wp/v2/posts?offset=6
将使用每页的默认帖子数,但从集合中的第 6 篇帖子开始 -
?per_page=5&page=4
相当于?per_page=5&offset=15
- 例如,
提示:
大型查询会影响站点性能,因此per_page
上限为 100 条记录。如果您希望检索超过 100 条记录,例如构建所有可用类别的客户端列表,您可以发出多个 API 请求并在您的应用程序中组合结果。
为了确定有多少页数据可用,API 会在每个分页响应中返回两个标头字段:
-
X-WP-Total
: 集合中的记录总数 -
X-WP-TotalPages
:包含所有可用记录的总页数
通过检查这些标头字段,您可以确定 API 中还有多少数据可用。
订购结果
除了上面详述的分页查询参数外,还有几个其他参数控制返回结果的顺序:
-
?order=
: 控制返回结果是升序还是降序- 有效值为
?order=asc
(升序)和?order=desc
(降序)。 - 默认情况下,所有本机集合均按降序返回。
- 有效值为
-
?orderby=
:控制集合排序的字段- 的有效值
orderby
将根据查询的资源而有所不同;对于/wp/v2/posts
集合,有效值为“date”、“relevance”、“id”、“include”、“title”和“slug” - 有关其他集合支持的值,请参阅REST API 参考
- 所有具有日期资源的集合默认为
orderby=date
- 的有效值