$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页?
答案 0 :(得分:3)
WP_Query在响应标头中为您提供所需的内容。
您要查找的字词为X-WP-Total
和X-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。
您需要自己在代码中获取此值。