分页

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