Как настроить пагинацию wordpress

Содержание
  1. WordPress Пагинация без Плагина
  2. Добавление обёртки для пагинации
  3. Создание пагинации в виде списка
  4. Создание функции пагинации в function.php
  5. Не работает пагинация в WordPress
  6. Пагинация wordpress — постраничная навигация без плагина
  7. Что такое пагинация
  8. WP-PageNavi — плагин пагинации WordPress
  9. Пагинация wordpress без плагина
  10. Удаляем заголовок H2 из пагинации
  11. Настраиваем страницы пагинации
  12. Стили пагинации CSS
  13. Впечатления о встроенной функции пагинации WordPress
  14. Полезные ссылки
  15. paginate_links() – как сделать пагинацию WordPress
  16. Пример. HTML пагинации по умолчанию
  17. Как изменить ссылки ← Ранее и Далее →
  18. Количество отображаемых ссылок
  19. Формат отображения
  20. Кастомные пагинации для любых целей
  21. Заключение
  22. Как добавить пагинацию на WordPress-сайт
  23. Использование темы
  24. Установка темы с поддержкой пагинации
  25. Использование плагинов пагинации
  26. Другие плагины
  27. WP-PageNavi
  28. WP-Paginate
  29. Pagination by HocWP
  30. Использование пагинации для записей WordPress
  31. Как сделать ваш сайт более интерактивным

WordPress Пагинация без Плагина

Рассмотрим, как добавить пагинацию в WordPress без плагинов. Наверняка все использовали различные популярные плагины для реализации пагинации, сегодня мы создадим пагинацию при помощи WordPress функции paginate_links() . Это позволит создать пагинацию для любых типов страниц в любом месте вашей темы.

Список параметров, доступных для использования функцией paginate_links():

Пример приближенный к реальному проекту. Создание пагинации для произвольного типа записи:

По умолчанию разметка пагинации будет следующая:

Добавление обёртки для пагинации

Добавим обёртку, например, с классом pagination . Замените:

Создание пагинации в виде списка

Чтобы создать WordPress пагинацию в виде списка, необходимо изменить type на list :

Изменить класс page-numbers можно следующим образом:

Создание функции пагинации в function.php

Чтобы сделать код более красивым, можно вынести всю логику пагинации в function.php:

Необходимо раскомментировать строку $GLOBALS[‘wp_query’] = $posts_Query; .

Вывод в шаблоне:

Не работает пагинация в WordPress

Страница пагинации может не работать в следующей ситуации:

  • вы создали кастомную таксономию и произвольный тип записи;
  • вывели благополучно пагинацию на странице таксономии (taxonomy-name.php);
  • но при переходе на следующую страницу, вы получили ошибку: «Страница не найдена»

Чтобы исправить ошибку, необходимо добавить следующий php-код в function.php:

Укажите число записей для нужной таксономии или пусть значение берется из админки Настройки — Чтение — На страницах блога отображать не более .

Таким образом, можно сделать вывод, что совсем необязательно использовать сторонние плагины для создания пагинации на сайте WordPress, с этой задачей отлично справляется paginate_links() .

Надеюсь, вам понравилась данная информация. Если вам интересна тема web-разработки, то можете следить за выходом новых статей в Telegram.

Источник

Пагинация wordpress — постраничная навигация без плагина

На главной странице, а так же на страницах рубрик, архивов и в результатах поисках, как правило нужна постраничная навигация (так же известная как пагинация). Блоги на WordPress не являются исключением, они так же используют пагинацию, когда результаты вывода информации разбиваются на несколько страниц.

Ранее для реализации этой возможности использовались сторонние плагины, либо специальные функции, которые размещались в файле functions.php. Однако с выходом WordPress версии 4.1 функция пагинации была встроена в ядро CMS, и теперь для реализации постраничной навигации достаточно внутренних функций WordPress и нет никакой необходимости добавлять сторонний код или плагины.

Я писал ранее о подобном улучшении со стороны WordPress в отношении тега TITLE — https://aboutwordpress.ru/post/wordpress-title/.

Что такое пагинация

Пагинация — это разбиение информации на страницы. Также под этим понятием подразумевают порядковую нумерацию страниц, обозначаемых цифрами, располагаемыми внизу, вверху или сбоку страницы.

WP-PageNavi — плагин пагинации WordPress

Самым популярным плагином пагинации для WordPress является WP-PageNavi. По-совести говоря, он настолько хорошо справляется с поставленной задачей пагинации, что обсуждать и сравнивать остальные плагины нет никакого смысла.

Пагинация WordPress — плагин WP-PageNavi

Пагинация wordpress без плагина

Для того чтобы сделать пагинацию на сайте без плагинов мы воспользуемся встроенной WordPress функцией the_posts_pagination(). В нужном нам месте необходимо вставить следующий код (как правило это файлы index.php, category.php и им подобные):

Результатом работы функции the_posts_pagination() будет примерно такой HTML код:

Читайте также:  Не работает вибрация айфон 7 plus

Удаляем заголовок H2 из пагинации

Сразу бросается в глаза H2-заголовок «Навигация по записям». Которому в большинстве случаев не место на сайте. Чтобы от него избавиться добавим следующий код в файл functions.php:

Настраиваем страницы пагинации

По умолчанию the_posts_pagination() отображает первую и последнюю страницу, а также по одной странице вокруг текущей. Все остальные заменяются многоточием. Это поведение можно изменить с помощью аргументов:

  • show_all — показывать все страницы
  • end_size — количество страниц в начале и конце списка
  • mid_size — количество страниц слева и справа от текущей страницы

Стили пагинации CSS

Если вам не нравятся текстовые ссылки, то их можно приукрасить, например так:

Выглядеть ссылки на страницы пагинации при таких стилях будут следующим образом:

Впечатления о встроенной функции пагинации WordPress

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

Полезные ссылки

При написании статьи были использованы следующие источники:

Источник

Помню времена, когда обязательным плагином к установке был WP-Pagenavi, ведь именно благодаря ему на сайтах на WordPress удавалось создать постраничную навигацию.

А по умолчанию это всё выглядело как-то так:

Старая навигация WordPress при помощи функций previous_posts_link() и next_posts_link()

Теперь же, благодаря функции paginate_links() мы можем создавать пагинации без плагина!

Однако несмотря на то, что функция присутствует в ядре WordPress (насколько я знаю, с 2009 года), полное избавление от плагинов из серии WP-Pagenavi произошло уже после появления функций: the_posts_pagination() и get_the_posts_pagination() в 2014-м, хотя обе эти функции работают на основе paginate_links() .

Функция содержит лишь один необязательный параметр $args – массив аргументов, ну а в нём уже свои параметры.

Если в функцию не передавать никаких параметров, то она будет работать только внутри цикла WordPress, обязательно посмотрите мой видеоурок про цикл.

Окей, функция не совсем простая для понимания, поэтому не буду тупо переводить английскую документацию, а опишу принцип её работы. Вы не против? 😁

Пример. HTML пагинации по умолчанию

Прежде всего – функция возвращает вам HTML постраничной навигации, который по умолчанию для страницы блога выглядит так:

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

Как изменить ссылки ← Ранее и Далее →

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

__() – это функция перевода. Подробнее про локализацию в WordPress рекомендую почитать в этом уроке.

Из креативных вариантов перевода я помню встречал что-то подобное:

Что позволяет преобразить нашу пагинацию в такой вид:

Количество отображаемых ссылок

Есть какое-то определённое количество ссылок которые отображаются до «…» от концов и от центра (текущей страницы), на скриншоте ниже я думаю очень даже понятно, что есть что.

mid_size по умолчанию равен 2, end_size по умолчанию 1. Если вдруг нас это не устраивает, то в нашей власти это изменить:

Формат отображения

Прежде, чем перейти к самому интересному, у нас остаётся ещё несколько дополнительных параметров, которые мы не рассмотрели:

show_all (логическое) принимает значения true или false (по умолчанию), если установить true , то будут отображаться все ссылки на страницы без добавления «…», before_page_number (строка) текст или HTML код, который добавится перед каждой цифрой в пагинации, ссылки назад и далее не считаются! 😈 after_page_number (строка) то же самое,что и предыдущий параметр, но только после цифр, type (строка) тип отображения, может принимать значения plain (по умолчанию), array – возвращает ссылки в виде массива или же list – в виде маркированного списка

    .
Читайте также:  Не работает открыть расположение файла

Кастомные пагинации для любых целей

Вот мы и перешли к самому интересному. Для того, чтобы сразу же дать вам ясное представление, о чем мы будем тут говорить, я рекомендую взглянуть на этот скриншотец:

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

base (строка) то, как выглядт URL нашей страницы пагинации в виде https://misha.agency/all_posts.php%_% , в этой конструкции %_% будет заменён на значение параметра format , то есть например на /page/1 или на ?pg=1 – короче говоря на что угодно, что используется у вас при пагинации в урле. По умолчанию (то есть для страницы блога) берётся значение функции get_pagenum_link() , потом отсекаются все параметры после ? и в конце добавляется %_% , format (строка) чтобы будем вкидывать в конец урла для обозначения страниц пагинации, например ?page=%#% . Но и тут есть реплейсмент в виде %#% , который при генерации HTML ссылок будет преобразован во что? В номер страницы конечно же. Параметр не берётся из потолка, а берётся из кода, который у нас выводит цикл с учетом постраничной навигации, total (целое) сколько всего страниц у нас получилось, current (целое) на какой странице мы находимся в данный момент

Это основные параметры, которые нам понадобятся для создания постраничной, но есть ещё два, которые могут быть вам полезны:

add_fragment (строка) что добавить в конце каждой ссылки, например #continue-reading add_args (массив) параметры урл, которые мы можем накинуть ещё сверху наряду с существующими, например array( ‘param1’ => ‘value1’ ) .

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

Во-первых, давайте определимся, на какой странице у нас будет этот дополнительный цикл, что собственно повлияет на значение параметра base , у меня цикл будет на главной, значит base будет site_url() . ‘%_%’ .

Во-вторых, нужно решить, как мы будем обозначать пагинацию в УРЛ сайта. Так как мы сейчас не планируем мутить дополнительных правил в htaccess, и всё должно быть найс энд изи, то я рекомендую использовать для этого обычный параметр в URL, а чтобы потешить моё чсв было легче разобраться, назовём параметр misha . Ссылки тогда будут такие: https://домен/?misha=2 (вторая страница).

У меня этот код заработал идеально ✨

Заключение

Ни разу не ожидал, что получится такой объёмный пост. Но по крайней мере теперь становится ясно, что можно выкинуть в помойку не только плагины постраничной навигации, но и функции the_posts_pagination() и get_the_posts_pagination() , рассудите сами – зачем вам лишняя обёртка функции, которую вам ещё потом придётся хукать через navigation_markup_template , чтобы изменить/удалить заголовок пагинации 😁

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!

Источник

Как добавить пагинацию на WordPress-сайт

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

Использование темы

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

Чтобы узнать, поддерживает ли тема эту функцию, перейдите в раздел « Внешний вид » панели администрирования WordPress .

Нажмите кнопку « Настроить ». В зависимости от темы, которую вы используете, здесь может отображаться раздел пагинации. Он также может быть включен в другие разделы настройки темы.

Если не нашли параметры настройки пагинации WordPress без плагина , нажмите « X », чтобы вернуться в панель администрирования. Вам нужно будет использовать один из способов, чтобы добавить пагинацию на сайт.

Читайте также:  Кто может починить комп

Установка темы с поддержкой пагинации

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

Чтобы добавить тему, поддерживающую пагинацию:

В поле поиска введите « pagination ». WordPress автоматически фильтрует темы и находит те, в описании, которых присутствует данный термин.

Найдите тему, которая вам нравится, установите и активируйте ее. Если не уверены, подходит ли она, нажмите на кнопку « Предварительный просмотр ».

Примечание . Предварительный просмотр представляет собой простую систему и не учитывает многие элементы, такие как изображение заголовка, виджеты и общий макет сайта.

Использование плагинов пагинации

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

В этой статье я расскажу о плагине Pagination by BestWebSoft . С его помощью можно добавить пагинацию для различных разделов WordPress-сайта .

Чтобы установить плагин Pagination by BestWebSoft сделайте следующее:

  • В панели администрирования WordPress перейдите в раздел « Плагины » и нажмите на кнопку добавления нового плагина.

  • Найдите плагин « Pagination by BestWebSoft ». Установите и активируйте его.

  • В меню панели администрирования будет добавлена новая функция. Нажмите на новый пункт меню, чтобы открыть панель BWS . Все инструменты BestWebSoft содержатся в этом разделе. Если у вас установлены другие инструменты, нажмите ссылку Pagination .

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

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

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

После этого все остальное плагин сделает автоматически. После вывода пагинации WordPress вам останется только добавить контент.

Другие плагины

Для WordPress доступно много плагинов, которые предоставляют различные параметры настройки пагинации.

WP-PageNavi

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

WP-Paginate

Плагин предоставляет возможность гибкой настройки. Он также поддерживает возможность добавления пользовательского кода CSS . Этот плагин содержит несколько базовых параметров, в том числе отображение ссылок и использование синих или серых кнопок.

Pagination by HocWP

Простой плагин пагинации записей WordPress , который не содержит большого количества параметров настройки. Тем не менее, он позволяет эффективно добавить ссылки пагинации в нижней части записей.

Использование пагинации для записей WordPress

Если у вас есть редактор CSS-кода , то можно внести изменения в темы и плагины. Например, плагин PageNavi предоставляет доступ к собственному файлу CSS .

Можно добавить пользовательский код для других областей страницы через файл style.css темы. А также изменить цвет фона, отображение элементов при наведении курсора мыши и многое другое.

Как сделать ваш сайт более интерактивным

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

Пожалуйста, оставьте свои комментарии по текущей теме материала. Мы крайне благодарны вам за ваши комментарии, подписки, лайки, отклики, дизлайки!

Источник

Оцените статью