我使用角度来显示WP Rest Api的帖子。但是,搜索只会过滤前99个帖子,因为这是最大值。反正有没有产生所有结果?
答案 0 :(得分:0)
创建使用自定义查询的自定义端点。像这样:
add_action( 'rest_api_init', function () {
register_rest_route( 'search', '/all', array(
'methods' => 'GET',
'callback' => 'get_all_posts',
));
});
端点:yoursite.com/wp-json/search/all
function get_all_posts() {
$query = new WP_Query(
array( 'posts_per_page' => -1 )
);
return json_encode( $query );
}
请记住在注册新端点时清除永久链接!
答案 1 :(得分:0)
获取帖子的上限为每页100个,但每个请求都会返回标题X-WP-TotalPages
,这会为您提供请求中的总页数。
请求下一页......
var url = your-route.example/wp-json/wp/v2/posts?per_page=100
$http.get(url).
success(function(response) {
var pagesNum = response.headers('X-WP-TotalPages')
for (var i = 2; i <= pagesNum; i++) {
$http.get(url+'&page='+i)
.success(function(response){
// do something with the next page data
})
}
});
...依此类推,直到你浏览完所有可用的页面。