Главная WordPress

Постраничная навигация в WordPress без плагина (альтернатива WP-PageNavi)

Постраничная навигация в WordPress без плагина (альтернатива WP-PageNavi)

Практически любой блоггер, который ведет свой блог на движке WordPress, знаком с плагином WP-PageNavi, который выводит постраничную навигацию такого вида: Но не каждый знает (включая меня до недавнего времени), что WordPress имеет встроенную функцию (начиная аж с версии 2.1), которая реализует практически тот же самый ...

Комментарии (228)

  1. Большое спасибо автору. Успехов!

  2. не читал все комментарии, а что делает строка
    $a['base'] = str_replace (999 999 999, '%#%', get_pagenum_link (999 999 999));
    ?

    • Что-то связанное с получением правильных ссылок. Точно не знаю.

      • Значит я близко к решению проблемы, у меня на всём сайте пагинация работает корректно, а вот на заданной пользователем отдельной таксономии вместо «/page/2» выводится «/2», в следствие чего на ссылку первой пагинации не удаётся перейти
        Буду бороть, но всё равно спасибо! :-)

  3. а как обернуть ссылки в li?

  4. немогу понять как сделать чтоб на главной выбивалось всего 4 статьи остальное уходило в пагинацию

  5. У меня вместо цифр стоит «следующая страница» а нельзя ли это поменять в настройках ВП, не влезая в файлы шаблона?

  6. Спасибо за статью! Добавил постраничную навигацию на свой сайт techbez01.ru без плагина. Круто!

  7. Добрый день! Код замечательный, много раз меня выручал. Но, попытка использовать его для вывода пагинации для кастомных типов записей не увенчалась успехом. Подскажите можно ли его адаптировать для использования на страницах с кастом пост тайпами.

    • Функция должна работать с любыми типами записей. У меня с этим проблем не было.

    • Сделал вот-так

      function pagination($wp_query=null) { // функция вывода пагинации
      		if (!is_object($wp_query)) {
                  global $wp_query; // используем глобальную выборку если не передана пользовательская
              }

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

  8. Проблему решил: при создании своего объекта WP_Query в его аргументах обязательно добавляем
    'paged' => get_query_var ('paged') ?: 1
    Все вместе у меня выглядит так:

    $args = [   'post_type' => 'post',
                            'post_status' => 'publish',
                            'paged' => get_query_var('paged') ?: 1,];//разбивает запрос постранично
                $query = new WP_Query($args);
    
    //потом цикл вывода поста
    
    pagination($query); //вызываем функцию пагинации
    

Ваш комментарий