Получать сообщения пользователей и комментарии в одном запросе с нумерацией страниц - PullRequest
0 голосов
/ 27 октября 2019

Я ищу способ получать сообщения и комментарии пользователя в одном запросе с поддержкой нумерации страниц. Важно также иметь общее количество сообщений и комментариев.

В настоящее время я получаю сообщения с помощью конечной точки 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;

Я мог бы объединить результаты, полученные из запросов на публикации и комментарии, но тогда я потерял бы нумерацию страницsupport.

Могу ли я в любом случае получить как посты, так и комментарии, и иметь собственную поддержку нумерации WordPress? Или мне лучше сделать прямой запрос MYSQL для этого?

...