@AndersDir

Как работает the_posts_pagination в WordPress?

Здравствуйте. Расскажите, пожалуйста, подробно, как сделать пагинацию в шаблоне страницы. Плагины использовать не хочу, прочитал, что теперь есть the_posts_pagination в свежих версиях wordpress.

Но я не нашел примеров использования, что бы понять, почему у меня вообще ничего не отображается.
Пример моего кода из шаблона страницы ниже (вывожу кастомные типы записей по 9 на странице):
<?php
$query1 = new WP_Query('post_type=foru&posts_per_page=9');
while ($query1->have_posts()) { $query1->the_post();
	// Тут вывод миниатюр и заголовков
} 
the_posts_pagination(); ?>
  • Вопрос задан
  • 3026 просмотров
Пригласить эксперта
Ответы на вопрос 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
А в каком шаблоне вы вызываете эту функцию?
Дело в том, что эта функция использует главный объект WP_Query (он же Main Query), вы же пытаетесь применить ее к своему кастомному объекту, который данная функция не видит.
А начались у вас проблемы еще тогда, когда вы не совсем поняли логику WP_Query. Если я правильно понимаю, у вас есть шаблон, который вы хотите использовать для вывода архива вашего custom post type. Так вот, если шаблон создан в соответствии с иерархией шаблонов WordPress, то его Main Query уже будет содержать последние посты этого типа. Все, что вам остается - модифицировать основной запрос, изменив в нем количество постов на страницу. Для этого есть хук pre_get_posts. Подробнее тут.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы