Как добавить стрелки, номера и «Предыдущая/Следующая» в пагинацию WordPress

Если в архиве WordPress у вас есть только сухие ссылки на страницы или, наоборот, слишком перегруженная навигация, это обычно решается не «магией» плагина, а выбором правильного способа вывода пагинации. В WordPress можно показать только номера страниц, добавить стрелки, оставить текстовые ссылки «Предыдущая/Следующая» или собрать всё вместе — но конкретный результат зависит от темы и от того, как именно она выводит архивы.

Сразу важный момент: речь здесь о пагинации архивов и списков записей, а не о навигации внутри одной записи. Это разные механизмы, и для них используются разные функции и шаблоны.

Что именно можно изменить в пагинации WordPress

Стандартная пагинация WordPress обычно строится вокруг двух подходов. Первый — простая навигация с ссылками на предыдущую и следующую страницу архива. Второй — более подробная пагинация с номерами страниц, где посетитель видит текущую страницу, соседние номера и быстрый переход к началу или концу списка.

Для удобства посетителя чаще всего комбинируют три элемента:

  • стрелки или короткие ссылки для перехода назад и вперёд;
  • номера страниц, чтобы понимать масштаб архива и быстро прыгать по списку;
  • подписи «Предыдущая» и «Следующая», если интерфейс должен быть максимально понятным без иконок.

Не во всех темах эти элементы уже есть в нужном виде. Иногда тема выводит только next_posts_link() и previous_posts_link(), иногда — собственную разметку, а иногда вообще отключает удобную навигацию в пользу бесконечной прокрутки или кнопки «Показать ещё».

Самый безопасный путь: проверить, что уже умеет тема

Перед тем как ставить плагин или лезть в шаблоны, посмотрите, как тема выводит архивы. Если у вас есть доступ к файлам темы, ищите в шаблонах архива и блога такие функции:

  • the_posts_navigation() — простая навигация «старее/новее»;
  • the_posts_pagination() — пагинация с номерами страниц;
  • paginate_links() — более гибкая генерация ссылок;
  • next_posts_link() и previous_posts_link() — отдельные ссылки на соседние страницы.

Если тема уже использует the_posts_pagination(), часто достаточно настроить её аргументы или CSS. Если же там стоит только простая навигация, тогда придётся менять шаблон архива или подключать плагин, который заменяет стандартный вывод.

Редактировать файлы темы лучше в дочерней теме. Иначе после обновления все изменения могут исчезнуть.

Как добавить номера страниц и подписи через код

Если вы работаете с шаблоном темы или дочерней темой, самый надёжный вариант — использовать paginate_links(). Эта функция позволяет собрать пагинацию с номерами страниц, а также добавить текстовые подписи и стрелки в нужном виде.

Ниже пример для архива записей. Его обычно вставляют в шаблон, где выводится цикл записей, например в archive.php, home.php или в шаблон категории. Перед изменением файла сделайте резервную копию и проверьте, что редактируете именно дочернюю тему.

$big = 999999999; // число-заглушка для get_pagenum_link()
$pagination = paginate_links( array(
	'base'      => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
	'format'    => '?paged=%#%',
	'current'   => max( 1, get_query_var( 'paged' ) ),
	'total'     => $wp_query->max_num_pages,
	'mid_size'  => 2,
	'end_size'  => 1,
	'prev_text' => '« Предыдущая',
	'next_text' => 'Следующая »',
) );

Здесь важны три вещи. Параметры prev_text и next_text отвечают за подписи и стрелки. mid_size и end_size управляют тем, сколько номеров страниц показывать рядом с текущей и по краям списка. А current и total должны соответствовать реальному архиву, иначе пагинация будет вести себя неправильно.

После этого выводите результат только если ссылки вообще есть:

if ( $pagination ) {
	echo '<nav class="pagination" aria-label="Пагинация записей">' . $pagination . '</nav>';
}

Такой вариант удобен, когда вам нужен полный контроль над текстом и количеством элементов. Но он требует аккуратности: если тема использует нестандартный запрос, например собственный WP_Query, то в коде нужно подставлять именно его объект, а не глобальный $wp_query.

Если нужен готовый плагин для пагинации

Когда менять шаблон не хочется или тема слишком сложная, проще использовать плагин, который заменяет стандартную навигацию на более гибкую. В реальных проектах для этого часто ставят WP-PageNavi: он как раз нужен там, где стандартные ссылки WordPress слишком бедные по интерфейсу и не дают удобно показать номера страниц.

Сценарий применения у него простой: архивов много, контента много, посетителю нужно быстро понимать, где он находится в списке, а тема не даёт удобной пагинации из коробки. Тогда плагин позволяет вывести номера страниц, текущую страницу, переходы к началу и концу, а также настроить текст для «Предыдущая/Следующая».

Но плагин не решает всё автоматически. Он не исправит сломанную разметку темы, не починит неверный запрос и не заменит работу с шаблонами, если архив вообще не выводится корректно. Если тема уже рисует собственную пагинацию, её ещё нужно заменить в шаблоне на вызов плагина.

Обычно это выглядит так: в шаблоне архива вместо стандартной навигации вызывается функция плагина, а внешний вид потом дорабатывается CSS. Если вам нужно посмотреть и другие решения для WordPress, иногда полезно заглянуть в каталог плагинов WPShop: https://wpshop.ru/plugins.

Как настроить стрелки, номера и текст ссылок без перегруза интерфейса

Не всегда стоит показывать все элементы сразу. Для новостного сайта или большого блога удобнее один вариант, для каталога — другой.

СценарийЧто показыватьПочему так удобнее
Небольшой блог«Предыдущая/Следующая» + стрелкиПользователю не нужен длинный список страниц
Большой архив или новостной сайтНомера страниц + стрелкиПроще ориентироваться в объёме контента
Каталог или рубрики с большим числом материаловНомера страниц + «Предыдущая/Следующая»Удобно и для людей, и для возврата к соседним страницам

Если интерфейс кажется перегруженным, уменьшайте не количество ссылок вообще, а диапазон видимых номеров. Обычно достаточно нескольких страниц вокруг текущей и пары ссылок по краям. Это особенно важно на мобильных устройствах, где слишком длинная строка пагинации быстро ломает верстку.

Для стрелок лучше использовать либо текстовые символы, либо иконки, но с понятной подписью для доступности. Если оставляете только стрелки без текста, у ссылки должен быть понятный aria-label, иначе навигация станет менее удобной для части пользователей и для скринридеров.

Что делать, если пагинация есть, но выглядит криво

Чаще всего проблема не в самой пагинации, а в стилях темы. Например, номера страниц могут быть слишком мелкими, активная страница — незаметной, а стрелки — съезжать на новую строку. Это уже вопрос CSS, а не логики WordPress.

Если тема использует стандартный класс .pagination или похожую обёртку, можно доработать стили в дочерней теме или через настройки кастомного CSS. Но перед этим откройте HTML-разметку в браузере и проверьте, какие классы реально выводятся. У разных тем они отличаются, поэтому универсальный CSS без проверки часто не срабатывает.

Практически полезно проверить три вещи:

  • активная страница заметна визуально;
  • кликабельная область достаточно большая для пальца на мобильном;
  • стрелки и текст не ломают строку и не слипаются с номерами.

Если тема использует собственную пагинацию через конструктор или блоки, править может понадобиться не CSS, а шаблон блока или настройки самого конструктора. Здесь важно не смешивать всё в одну кучу: иногда проблема в разметке, иногда — в стилях, а иногда — в том, что пагинация вообще не подключена к нужному запросу.

Как проверить, что всё работает правильно

После настройки откройте архив с большим количеством записей и проверьте несколько страниц подряд. Переходы должны вести на реальные URL, текущая страница должна подсвечиваться, а ссылки «Предыдущая/Следующая» — менять направление в зависимости от того, где вы находитесь.

Если вы меняли шаблон вручную, проверьте ещё и такие моменты:

  • на первой странице нет ссылки на несуществующую предыдущую страницу;
  • на последней странице нет ссылки на несуществующую следующую страницу;
  • в архиве с малым числом записей пагинация не показывается без необходимости;
  • на мобильном экране элементы не налезают друг на друга.

Если после правок ссылки ведут не туда, обычно проблема в неправильном base или в том, что шаблон использует не тот объект запроса. Если пагинация исчезла совсем, проверьте, не сломался ли цикл записей и не отключён ли вывод навигации в теме.

В итоге выбор простой: если нужна быстрая и гибкая навигация без правки шаблонов, берите плагин; если нужен точный контроль над разметкой и поведением, настраивайте пагинацию в теме через paginate_links() или штатные функции WordPress. Для архивов с большим объёмом контента это обычно самый практичный путь к понятной навигации без лишней перегрузки интерфейса.

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как сделать пагинацию для категорий в WordPress: практические советы и примеры
26.09.2026
Как сделать бесконечную прокрутку в WordPress без потери удобства и SEO
13.10.2026
Как изменить внешний вид пагинации в WordPress с помощью CSS
16.10.2026
Как изменить количество записей на странице в WordPress
07.10.2026
Как убрать стандартную пагинацию WordPress и заменить её на кнопку «Показать ещё»
10.10.2026
×
Твой WordPress — твои правила!

Топовые темы и плагины со скидкой 20%.

Забрать выгодно ⋙