WP-API:最大数量页面

时间:2015-03-09 10:46:48

标签: wordpress wp-api

$opts  = array(); // any arguments
$query = WP_Query($opts);

通常情况下,我们可以使用$totalPages = $query->max_num_pages;获取 max_num_pages 但是,我使用此插件http://wp-api.org/生成json请求。

当我尝试使用API​​检索帖子时,响应只是json对象/帖子数组。问题是,$query->max_num_pages;无法访问。我需要那个var来做一个分页请求。

例如,我想提出请求:

$.ajax({
    url: 'wp-json/posts?page=' + currentPage + '&filter[posts_per_page]=' + perPage + '&filter[cat]=' + category
});

如果我们不知道 max_num_pages ,我们如何填写currentPage var?如果我只是用currentPage填充1,那就没关系(因为假设它是第1页)。但我怎么知道是否有第2页第3页?

你知道吗?非常感谢,任何帮助:)

2 个答案:

答案 0 :(得分:3)

WP_Query在响应标头中为您提供所需的内容。

您要查找的字词为X-WP-TotalX-WP-TotalPages

在jQuery中,您可以获得AJAX响应头:

$.ajax({
  url: myURL,
  success: function(data, textStatus, request){
    console.log("This is the header you're looking for",request.getResponseHeader('X-WP-Total'));
  }
});
  

注意 我没有机会正确测试,因为我没有使用我的开发机器

答案 1 :(得分:0)

您可以从" X-WP-TotalPages"获得总页数。 http响应的HTTP头。 例如,使用curl从命令行进行测试:

curl -i http://example.com/wp-json/posts

在获得总页数,例如50页之后,您可以从1循环到50,来自上面的CLI的响应也包含一个名为" Link:"的有用标题,您可以从中获取更多详细信息这个链接:http://wp-api.org/guides/getting-started.html

您需要自己在代码中获取此值。