通过分页在一个查询中获取用户帖子和评论

时间:2019-10-27 19:13:48

标签: wordpress wordpress-rest-api

我正在寻找一种在具有分页支持的查询中获取用户的帖子和评论的方法。重要的是要同时拥有帖子和评论的总数。

当前,我通过使用WordPress REST API端点/wp/v2/posts?author=...来获得帖子,它具有良好的分页支持,并且返回标题中的帖子总数。

我还有一个自定义的REST端点,可以通过回调函数获取评论:

$limit = 5;
$page = $request['page'] ? $request['page'] : 1;

$offset = ($page * $limit) - $limit;

$args = array(
    'orderby' => 'post_date',
    'status'=>'approve',
    'offset'=>$offset,
    'number'=>$limit,
    'author' => $request['author'],
    'count' => true
);

$posts_count = get_comments($args);

$args = array(
    'orderby' => 'post_date',
    'status'=>'approve',
    'offset'=>$offset,
    'number'=>$limit,
    'author' => $request['author']
);

$posts = get_comments($args);

if (empty($posts)) {
    return new WP_Error( 'empty_comments', 'no results', array('status' => 404) );

}

$response = new WP_REST_Response(['total' => $posts_count, 'comments' => $posts]);
$response->set_status(200);

return $response;

我可以合并从帖子和评论查询中获得的结果,但随后我将放弃分页支持。

无论如何,我是否可以同时获得帖子和评论,并具有本机WordPress分页支持?还是我应该为此直接进行MYSQL查询?

0 个答案:

没有答案