the_posts_pagination()
Виводить на екран посилання пагінації на слід./попер. сет постів. Використовується на сторінках архівів (рубрики, мітки…).
Функція розрахована на використання будь-якого типу записів.
Щоб отримати результат обробки, використовуйте get_the_posts_pagination() .
get_the_posts_pagination()
Хуків немає.
Повертає
null
. Нічого. Виводить на екран 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' ), 'class' => 'pagination', // CSS клас, додано до 5.5.0. );
$args передається у функцію paginate_links() , тому повний список параметрів дивіться в її описі.
За замовчуванням: попереднє встановлення
Приклади
#1 Керування відображенням
За промовчанням the_posts_pagination() виводить першу та останню сторінку та по одній сторінці біля поточної. Інші замінюються крапкою. Цей висновок можна змінити за допомогою аргументів:
show_all
— показувати всі сторінки
end_size
— кількість сторінок на початку та наприкінці списку
mid_size
— кількість сторінок зліва та праворуч від поточної сторінки
<?php the_posts_pagination( array( 'mid_size' => 2, ))); ?>
#2 Виведення пагінації на екран
<?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://example.com/page/2/"><span class="meta-nav screen-reader-text">Сторінка </span>2</a > <span class="page-numbers dots">…</span> <a class="page-numbers" href="http://example.com/page/86/"><span class="meta-nav screen-reader-text">Сторінка </span>86</a > <a class="page-numbers" href="http://example.com/page/87/"><span class="meta-nav screen-reader-text">Сторінка </span>87</a > <a class="next page-numbers" href="http://example.com/page/2/">Наступна сторінка</a> </div> </nav>
#3 параметр end_size
Встановимо 2 посилання на останні сторінки в пагінації:
<?php the_posts_pagination( array( 'end_size' => 2, ))); ?>
#4 Видаляємо заголовок 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 6.0.2
function the_posts_pagination( $args = array() ) { echo get_the_posts_pagination ($ args); }