the_posts_pagination() WP 4.1.0
Выводит на экран ссылки пагинации на след./пред. сет постов. Используется на страницах архивов (рубрики, метки, ...).
Функция рассчитана на использования с любым типом записей.
Чтобы получить результат для обработки, используйте get_the_posts_pagination().
Хуков нет.
Возвращает
Ничего. Выводит на экран HTML код пагинации. Если страниц пагинации нет (меньше 1), то ничего не выведет.
Использование
the_posts_pagination( $args );
- $args(массив)
Параметры по которым будет выводиться результат. По умолчанию:
$args = array( 'show_all' => false, // показаны все страницы участвующие в пагинации 'end_size' => 1, // количество страниц на концах 'mid_size' => 1, // количество страниц вокруг текущей 'prev_next' => true, // выводить ли боковые ссылки "предыдущая/следующая страница". 'prev_text' => __('« Previous'), 'next_text' => __('Next »'), 'add_args' => false, // Массив аргументов (переменных запроса), которые нужно добавить к ссылкам. 'add_fragment' => '', // Текст который добавиться ко всем ссылкам. 'screen_reader_text' => __( 'Posts navigation' ), );
$args передается в функцию paginate_links(), поэтому полный список параметров, смотрите в её описании.
По умолчанию: предустановки
Примеры
#1 Вывод пагинации на экран
<?php the_posts_pagination(); ?>
Выведет:
<nav class="navigation pagination" role="navigation"> <h2 class="screen-reader-text">Навигация по записям</h2> <div class="nav-links"><span class="page-numbers current"><span class="meta-nav screen-reader-text">Страница </span>1</span> <a class="page-numbers" href="http://wptest.ru/page/2/"><span class="meta-nav screen-reader-text">Страница </span>2</a> <span class="page-numbers dots">…</span> <a class="page-numbers" href="http://wptest.ru/page/86/"><span class="meta-nav screen-reader-text">Страница </span>86</a> <a class="page-numbers" href="http://wptest.ru/page/87/"><span class="meta-nav screen-reader-text">Страница </span>87</a> <a class="next page-numbers" href="http://wptest.ru/page/2/">Следующая страница</a> </div> </nav>
#2 Управление отображением
По умолчанию the_posts_pagination() выводит первую и последнюю страницу и по одной странице около текущей. Остальные заменяются многоточием. Этот вывод можно изменить с помощью аргументов:
show_all
— показывать все страницы
end_size
— количество страниц в начале и конце списка
mid_size
— количество страниц слева и справа от текущей страницы
<?php the_posts_pagination( array( 'mid_size' => 2, ) ); ?>
#2.1 параметр end_size
Установим 2 ссылки на последние страницы в пагинации:
<?php the_posts_pagination( array( 'end_size' => 2, ) ); ?>
#3 Удаляем заголовок H2 из шаблона
По умолчанию шаблон пагинации содержит скрытый тег H2, который добавляется для роботов.
С точки зрения SEO этот тег, вроде бы, лучше убрать. Сделать это можно с помощью фильтра navigation_markup_template:
// удаляет H2 из шаблона пагинации add_filter('navigation_markup_template', 'my_navigation_template', 10, 2 ); function my_navigation_template( $template, $class ){ /* Вид базового шаблона: <nav class="navigation %1$s" role="navigation"> <h2 class="screen-reader-text">%2$s</h2> <div class="nav-links">%3$s</div> </nav> */ return ' <nav class="navigation %1$s" role="navigation"> <div class="nav-links">%3$s</div> </nav> '; } // выводим пагинацию the_posts_pagination( array( 'end_size' => 2, ) );
Список изменений
С версии 4.1.0 | Введена. |
Код the_posts_pagination() the posts pagination WP 5.6.2
function the_posts_pagination( $args = array() ) {
echo get_the_posts_pagination( $args );
}