Я ищу способ получать сообщения и комментарии пользователя в одном запросе с поддержкой нумерации страниц. Важно также иметь общее количество сообщений и комментариев.
В настоящее время я получаю сообщения с помощью конечной точки 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 для этого?