В этой статье мы разберём, как реализовать и настроить пагинацию в WordPress, чтобы облегчить пользователям поиск нужной информации.
Пагинация — это важный элемент навигации на сайте, позволяющий разбивать контент на страницы. Это особенно полезно для блогов и новостных сайтов, где количество записей может быть значительным. Правильная настройка пагинации улучшает пользовательский опыт и может благоприятно сказаться на SEO.
1. Пагинация с помощью плагинов
Существует множество плагинов для настройки пагинации в WordPress. Одним из наиболее популярных является WP-PageNavi. Этот плагин позволяет создавать более удобный интерфейс для навигации между страницами. Чтобы его установить, выполните следующие шаги:
- Перейдите в раздел Плагины → Добавить новый.
- В поисковой строке введите WP-PageNavi и установите плагин.
- Активируйте плагин и перейдите в Настройки → PageNavi для коррекции настроек.
После установки плагина вы сможете использовать его шорткоды в своих записях или на страницах, чтобы отобразить пагинацию в нужных местах.
2. Пагинация без плагинов
Если вы предпочитаете не устанавливать дополнительные плагины, вы можете реализовать пагинацию с помощью встроенных функций WordPress. Один из простых способов — использовать функцию paginate_links() в файле вашей темы. Вот пример кода, который можно использовать:
<?php if ( function_exists('paginate_links') ) : ?>
<div class="pagination">
<?php echo paginate_links(); ?>
</div>
<?php endif; ?>
Этот код выведет ссылки на страницы, если количество записей превышает установленное в настройках количество записей на странице.
3. Настройки пагинации
Для настройки количества записей на странице перейдите в Настройки → Чтение и укажите необходимое число в поле Количество записей на странице. Также не забудьте настроить вид ссылок для лучшей индексации поисковыми системами.
Подводя итог, пагинация — это необходимый элемент на большинстве сайтов, и его настройка в WordPress — достаточно простая задача, которую можно выполнить как с помощью плагинов, так и без них.
Постраничная навигация: что это, зачем нужна
Пагинация нужна для организации и упорядочивания больших массивов данных.
Она делится на два типа: алфавитная и числовая. Алфавитная пагинация удобна для представления словарей или разделов Часто Задаваемых Вопросов, а числовая помогает посетителям быстрее находить необходимый контент.
Навигация может поддерживать технологию AJAX, которая даёт возможность загружать посты без необходимости обновления страницы. Это реализуется с помощью плагина с кнопкой «Показать ещё».
Делаем алфавитную пагинацию
Алфавитная пагинация
Для организации информации по алфавиту удобно использовать плагин Alphabetic Pagination.
1. Перейдите в раздел Плагины -> Добавить новый, введите “Alphabetic Pagination” в строку поиска и нажмите [Enter].
2. Установите и активируйте плагин.
3. Перейдите в Настройки – Alphabetic Pagination.

Основные настройки
Implementation – позволяет выбрать автоматическую или ручную инициацию алфавита. При автоматическом варианте разбивка будет добавлена автоматически и будет располагаться под основным меню, в ручном варианте отобразится шорткод.
Display on all lists? – определяет, где и в каких разделах будет отображаться алфавитная пагинация.
Hide/Show pagination if only one post available? – задаёт, будет ли скрываться разбивка, если на сайте присутствует только один пост.
DOM Position? – место размещения. Рекомендуется оставить установленные значения.
Language selection? – выбор языка. Установите «русский».
Styles – стиль алфавитного блока (горизонтальный, вертикальный, строчные или заглавные буквы).
Disable Empty Alphabets? – настройка отображения разбивки, если посты отсутствуют.
4. Установите необходимые параметры и нажмите Save Changes.
При включенной автоматической вставке главная страница будет выглядеть следующим образом:

В противном случае отобразится набор шорткодов для вставки.

5. Вставьте шорткоды в файлы шаблонов.
ABC Pagination

Одним из лучших современных решений для алфавитной пагинации является плагин ABC Pagination WPShop. Этот инструмент позволяет выводить пагинацию в различных местах шаблона без ограничений в DOM, у него есть параметры для красивого оформления алфавитного списка и множество других полезных опций.
Например, можно настроить сортировку не по названиям H1, а по словам, указанным пользователями. После стандартной установки и активации плагина в админ-панели во время редактирования каждой записи появится поле для ввода альтернативного текста.
Вы можете воспользоваться промокодом:
ABC Pagination с максимальной скидкой
Или сначала ознакомиться с подробным обзором всех настроек плагина ABC Pagination и алгоритмом вывода алфавита.
Вывод числовой пагинации WordPress
Постраничная разбивка доступна практически во всех темах WordPress. Одни темы используют стандартные методы, другие же внедряют технологию AJAX.
Иногда возникает необходимость в модификации или создании собственного решения для навигации. Есть два способа: использование плагина или создание кастомной функции.
Плагин
Существует несколько достойных плагинов для этой задачи. Рассмотрим на примере бесплатного WP-PageNavi.
1. Установите и активируйте его.
2. В административной панели перейдите в раздел Настройки -> WP-PageNavi.
3. Настройте основные параметры (шаблон, количество и диапазон страниц) и нажмите Сохранить изменения.
4. Добавьте код в шаблоны темы:
Если необходимо заменить или добавить постраничную навигацию для блога, используйте шаблоны index.php, archive.php, search.php.

Кастомная функция
Если использование плагина не устраивает, можно создать собственную функцию.
Откройте файл functions.php вашей активной темы и вставьте следующий код:
function site_page_navi() {
global $wp_query;
$pages = '';
$maxpages = $wp_query->max_num_pages;
if ( !$currentpage = get_query_var( 'paged' ) )
$currentpage = 1;
$link['base'] = str_replace( 999999999, '%#%', get_pagenum_link( 999999999 ) );
$link['totalpages'] = $maxpages;
$link['currentpage'] = $currentpage;
$totalpages = 0; //1 - вывести "Страница N из N", 0 - не выводить
$link['mid_size'] = 3; //число ссылок слева и справа от текущей
$link['end_size'] = 1; //число ссылок в начале и конце
$link['prev_text'] = 'Пред.';
$link['next_text'] = 'След.';
if ( $maxpages > 1 ) {
echo '';
if ( $totalpages == 1 && $maxpages > 1 )
$pages = 'Страница ' . $currentpage . ' из ' . $maxpages . ''."
";
echo $pages . paginate_links($link);
if ( $maxpages > 1 )
echo '';
}
}
Настройте код в соответствии с вашими требованиями (записи в комментариях).
Чтобы пагинация отображалась, добавьте строку PHP в шаблон темы:
Отдельно о пагинации постов
В системе WordPress также можно разбивать записи и страницы. Для этого откройте запись для редактирования, переключитесь на текстовый режим и добавьте тег .
В новом редакторе WordPress Gutenberg существует блок Разрыв страницы.

С точки зрения SEO к подстраницам следует добавлять атрибут каноникал. В этом поможет плагин All in One SEO Pack. Просто перейдите в раздел All in One SEO -> Общие настройки и включите опцию Использовать nofollow для страниц/записей с пагинацией.

Если не работает переход
На выходе возможно получение ошибки 404.
Ошибка 404
Это говорит о том, что запрашиваемая страница отсутствует. Возможные решения:
- перейдите в административной панели в раздел Настройки -> Постоянные ссылки и нажмите кнопку Сохранить изменения;
- очистите кэш на сайте и в браузере;
- проверьте правильность работы всех активных плагинов;
- проверьте добавленный вручную код на предмет ошибок.
Если вас интересует установка словаря на сайте, рекомендуем прочитать обзор: «Создание глоссария на WordPress: лучшие плагины словарей».