Фрагмент:
$query = new \WP_Query(
[
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => 3,
'paged' => $paged,
]
);
$query->found_posts; // all of the posts
Только метод, который я исследовал, заключается в жестком кодировании каждый раз, когда фрагмент кода.
$posts_per_page = (int) $this->query_vars['posts_per_page'];
$has_next = $paged < ceil( (float) $query->found_posts / $posts_per_page );
Проблема заключается в дублировании кода во всех местах, которые я хочу для вычисления has_next.
Эту проблему можно решить, расширив класс WP_Query
и добавив метод has_next_page
. Но это решение более сложное, чем проблема.
Есть ли в Wordpress способ определить, есть ли у WP_Query
следующая страница без переизобретения колеса?