Страницы пагинации wordpress изменение адресов. Постраничная навигация WordPress — три полезных плагина

Технически функцию можно использовать для создания пагинации где угодно. Параметр base используется как ссылка на УРЛ, которая будет использована для создания ссылки пагинации. Параметр format будет заменен на номер пагинации. Эта функция является ядром для всех функций пагинации в WordPress.

Параметр type контролирует в каком формате будет возвращен результат:

  • plain - просто ссылки разделенные переносом строки (По умолчанию).
  • array - в виде массива данных для дальнейшей обработки в PHP
  • list -
      список.

    Числовой параметр total должен получить общее количество страниц пагинации, а параметр current номер текущей страницы пагинации. Пример параметра base - http://example.com/all_posts.php%_% , где %_% - обязательная часть, которая будет заменена тем что указано в параметре format . Пример format - ?page=%#% , здесь %#% , также обязательная часть, которая будет заменена числом текущей страницы пагинации. Вообще, в base можно сразу указать например так: http://example.com/all_posts.php?page=%#% , а в формат пусто ("").

    Чтобы добавить ссылки на предыдущую/следующую страницу, нужно включить логический параметр prev_next (указать ему true), а затем можно установить текст ссылок указав параметры prev_text/next_text (предыдущая ссылка/следующая ссылка).

    Если включить параметр show_all , то будут выведены абсолютно все ссылки пагинации, вместо нескольких ссылок вокруг текущей и нескольких конечных ссылок. По умолчанию, этот параметр выключен, а сколько ссылок показывать вокруг текущей страницы и на концах контролируется параметрами: end_size и mid_size .

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

    В результате вы получите нечто подобное: « предыдущая 1 … 3 4 5 6 7 … 9 следующая »

    Хуки из функции
    Возвращает

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

    Шаблон использования

    $args = array("base" => "%_%", "format" => "?page=%#%", "total" => 1, "current" => 0, "show_all" => False, "end_size" => 1, "mid_size" => 2, "prev_next" => True, "prev_text" => __("« Previous"), "next_text" => __("Next »"), "type" => "plain", "add_args" => False, "add_fragment" => "", "before_page_number" => "", "after_page_number" => ""); echo paginate_links($args); $args(строка/массив) Аргументы для построения пагинации.
    По умолчанию: предустановки

    Аргументы параметра $args

    base(строка) База для замены по формату. В конструкции: http://example.com/all_posts.php%_% %_% будет заменено значением аргумента format (см. ниже).
    По умолчанию: "%_%" format(строка) Формат замены.
    По умолчанию: "?page=%#%" total(число) Общее количество страниц, которые участвуют в пагинации.
    По умолчанию: 1 current(число) Номер текущей страницы пагинации. show_all(логический) Если выставить в true, то в списке ссылок будут показаны все страницы участвующие в пагинации. По умолчанию показывается только несколько ссылок спереди и сзади номера текущей страницы, количество ссылок регулируется аргументами: end_size и mid_size .
    По умолчанию: false end_size(число) Сколько номеров показывать сначала и конца ("предыдущая 12 ... 4 ... 89 следующая").
    По умолчанию: 1 mid_size(число) Сколько номеров показывать до и после текущего номера (... 123 5 678 ...).
    По умолчанию: 2 prev_next(логический) Выводить боковые ссылки "предыдущая/следующая страница". По умолчанию выводятся, если ненужно выводить эти ссылки пишем false.
    По умолчанию: ture prev_text(строка) Текст ссылки "предыдущая страница".
    По умолчанию: __("« Previous") next_text(строка) Текст ссылки "следующая страница".
    По умолчанию: __("Next »") type(строка)

    Формат возвращаемых данных.

      plain - строка ссылок разделенная пробелами. По умолчанию;

      array - массив данных (для дальнейшей обработки);

    • list - html список
        .
        По умолчанию: "plain"
      add_args(логический) Массив аргументов (переменных запроса), которые нужно добавить к ссылкам.
      По умолчанию: false add_fragment(строка) Текст который добавиться ко всем ссылкам.
      По умолчанию: "" aria_current(строка) Значение атрибута aria-current . Возможные значения: "page", "step", "location", "date", "time", "true", "false". С версии 4.9.
      По умолчанию: "page" .

      Примеры

      #1 Пагинация, аналог wp_pagenavi

      Чтобы добавить пагинацию на страницу результатов поиска или страницу архивов, используйте такой код:

      Function my_pagenavi() { global $wp_query; $big = 999999999; // уникальное число для замены $args = array("base" => str_replace($big, "%#%", get_pagenum_link($big)), "format" => "", "current" => max(1, get_query_var("paged")), "total" => $wp_query->max_num_pages,); $result = paginate_links($args); // удаляем добавку к пагинации для первой страницы $result = preg_replace("~/page/1/?([\""])~", "\1", $result); echo $result; } // Теперь, где нужно вывести пагинацию используем // my_pagenavi();

      #2 Пример с произвольным запросом WP_Query

      Когда записи получаются и выводятся отдельным запросом с помощью new WP_Query установите в параметр total свойство $max_num_pages . На примере:

      Наш произвольный запрос и пагинация для него:

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

      5, "category_name" => "gallery", "paged" => $paged,)); // цикл вывода полученных записей while($the_query->have_posts()){ $the_query->the_post(); ?> str_replace($big, "%#%", esc_url(get_pagenum_link($big))), "format" => "?paged=%#%", "current" => max(1, get_query_var("paged")), "total" => $the_query->max_num_pages)); ?>

      Код paginate links : wp-includes/general-template.php VER 5.1.1

      max_num_pages) ? $wp_query->max_num_pages: 1; $current = get_query_var("paged") ? intval(get_query_var("paged")) : 1; // Append the format placeholder to the base URL. $pagenum_link = trailingslashit($url_parts) . "%_%"; // URL base depends on permalink settings. $format = $wp_rewrite->using_index_permalinks() && ! strpos($pagenum_link, "index.php") ? "index.php/" : ""; $format .= $wp_rewrite->using_permalinks() ? user_trailingslashit($wp_rewrite->pagination_base . "/%#%", "paged") : "?paged=%#%"; $defaults = array("base" => $pagenum_link, // http://example.com/all_posts.php%_% : %_% is replaced by format (below) "format" => $format, // ?page=%#% : %#% is replaced by the page number "total" => $total, "current" => $current, "aria_current" => "page", "show_all" => false, "prev_next" => true, "prev_text" => __("« Previous"), "next_text" => __("Next »"), "end_size" => 1, "mid_size" => 2, "type" => "plain", "add_args" => array(), // array of query args to add "add_fragment" => "", "before_page_number" => "", "after_page_number" => "",); $args = wp_parse_args($args, $defaults); if (! is_array($args["add_args"])) { $args["add_args"] = array(); } // Merge additional query vars found in the original URL into "add_args" array. if (isset($url_parts)) { // Find the format argument. $format = explode("?", str_replace("%_%", $args["format"], $args["base"])); $format_query = isset($format) ? $format : ""; wp_parse_str($format_query, $format_args); // Find the query args of the requested URL. wp_parse_str($url_parts, $url_query_args); // Remove the format argument from the array of query arguments, to avoid overwriting custom format. foreach ($format_args as $format_arg => $format_arg_value) { unset($url_query_args[ $format_arg ]); } $args["add_args"] = array_merge($args["add_args"], urlencode_deep($url_query_args)); } // Who knows what else people pass in $args $total = (int) $args["total"]; if ($total < 2) { return; } $current = (int) $args["current"]; $end_size = (int) $args["end_size"]; // Out of bounds? Make it the default. if ($end_size < 1) { $end_size = 1; } $mid_size = (int) $args["mid_size"]; if ($mid_size < 0) { $mid_size = 2; } $add_args = $args["add_args"]; $r = ""; $page_links = array(); $dots = false; if ($args["prev_next"] && $current && 1 < $current) : $link = str_replace("%_%", 2 == $current ? "" : $args["format"], $args["base"]); $link = str_replace("%#%", $current - 1, $link); if ($add_args) { $link = add_query_arg($add_args, $link); } $link .= $args["add_fragment"]; /** * Filters the paginated links for the given archive pages. * * @since 3.0.0 * * @param string $link The paginated link URL. */ $page_links = "" . $args["prev_text"] . ""; endif; for ($n = 1; $n <= $total; $n++) : if ($n == $current) : $page_links = ""; $dots = true; else: if ($args["show_all"] || ($n <= $end_size || ($current && $n >= $current - $mid_size && $n <= $current + $mid_size) || $n > $total - $end_size)) : $link = str_replace("%_%", 1 == $n ? "" : $args["format"], $args["base"]); $link = str_replace("%#%", $n, $link); if ($add_args) { $link = add_query_arg($add_args, $link); } $link .= $args["add_fragment"]; /** This filter is documented in wp-includes/general-template.php */ $page_links = "" . $args["before_page_number"] . number_format_i18n($n) . $args["after_page_number"] . ""; $dots = true; elseif ($dots && ! $args["show_all"]) : $page_links = "" . __("…") . ""; $dots = false; endif; endif; endfor; if ($args["prev_next"] && $current && $current < $total) : $link = str_replace("%_%", $args["format"], $args["base"]); $link = str_replace("%#%", $current + 1, $link); if ($add_args) { $link = add_query_arg($add_args, $link); } $link .= $args["add_fragment"]; /** This filter is documented in wp-includes/general-template.php */ $page_links = "" . $args["next_text"] . ""; endif; switch ($args["type"]) { case "array": return $page_links; case "list": $r .= "
        \n\t
      • "; $r .= join("
      • \n\t
      • ", $page_links); $r .= "
      • \n
      \n"; break; default: $r = join("\n", $page_links); break; } return $r; }

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

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

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

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

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


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


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

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

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


      В поле поиска введите «pagination ». 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 делает сайт более интерактивным. С ее помощью посетители могут самостоятельно выбирать, на какие страницы переходить. Это одно из тех дополнений, которое может внести любой разработчик. При этом оно существенно улучшает опыт взаимодействия пользователей.

      Каждый сайт — это по сути целая система навигации и ссылок , по которым перемещаются роботы и посетители. Данная система может обладать разной степенью сложности. Как правило, в ее состав входит главное меню, содержащее в себе ссылки на все основные разделы и статичные страницы, дополнительные меню, (упорядоченный и структурированный список из ссылок на все страницы и разделы). Кроме того, в состав системы навигации интернет-ресурса может входить постраничная навигация .

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

      Что касается настроек, то здесь их не слишком много. Для начала следует указать названия первой и последней, а также следующей и предыдущей страниц. Эти кнопки будут показаны независимо от того, на какой странице вы находитесь в данный момент. Чтобы кнопки от WP Page Navi появились на блоге, необходимо удалить код стандартной навигации в шаблоне, как я уже писал наиболее вероятно, что он будет находится в шаблоне archive.php или content.php. И вместо кода вставить:

      Обычно он начинается с такой строчки —

      . Редактировать внешний вид кнопок (основной и фоновый цвет, рамки, шрифты и т.д.) можно через CSS-файл данного плагина pagenavi-css.css, их поддержку можно включить в пункте “Настройки списка страниц ”. Однако это не очень удобно. Поэтому для WP Page Navi был создан так называемый плагин-дополнение под названием WP PageNavi Style . После его установки в меню появятся все нужные опции для редактирования внешнего вида кнопок.


      Все вопросы можно задавать в комментариях, если кому-то не ясно по тому или другому пункту. Мы всегда ответим на все вопросы.

      Привет всем!

      Продолжаю писать статьи, посвященные навигации сайта на движке WordPress.

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

      Материал вышел очень объемный и, пожалуй, самый исчерпывающий в сети.

      Постраничная навигация (пагинация) - это разбиение информации на страницы. Если взять массу сайтов на Wordpres, то данный феномен ярко выражен в видео списка номеров страниц внизу каждой страницы с анонсами. На моем блоге данная функция имеет следующий вид.

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

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

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

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

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

      Делаем без плагина

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

      Вот первая часть кода. Ее необходимо разместить в файле functions.php шаблона оформления.

      function wp_corenavi() { global $wp_query, $wp_rewrite; $pages = ""; $max = $wp_query->max_num_pages; if (!$current = get_query_var("paged")) $current = 1; $a["base"] = str_replace(999999999, "%#%", get_pagenum_link(999999999)); $a["total"] = $max; $a["current"] = $current; $total = 0; //1 - выводить текст "Страница N из N", 0 - не выводить $a["mid_size"] = 1; //сколько ссылок показывать слева и справа от текущей $a["end_size"] = 1; //сколько ссылок показывать в начале и в конце $a["prev_text"] = ""; //текст ссылки "Предыдущая страница" $a["next_text"] = ""; //текст ссылки "Следующая страница" if ($max > 1) echo "

      "; }

      function wp_corenavi () {

      global $wp_query , $wp_rewrite ;

      $pages = "" ;

      $max = $wp_query -> max_num_pages ;

      if (! $current = get_query_var ("paged" ) ) $current = 1 ;

      $a [ "base" ] = str_replace (999999999 , "%#%" , get_pagenum_link (999999999 ) ) ;

      $a [ "total" ] = $max ;

      $a [ "current" ] = $current ;

      $total = 0 ; //1 - выводить текст "Страница N из N", 0 - не выводить

      $a [ "mid_size" ] = 1 ; //сколько ссылок показывать слева и справа от текущей

      $a [ "end_size" ] = 1 ; //сколько ссылок показывать в начале и в конце

      $a [ "prev_text" ] = "" ; //текст ссылки "Предыдущая страница"

      $a [ "next_text" ] = "" ; //текст ссылки "Следующая страница"

      if ($max > 1 ) echo "

      " ;

      Я разместил код в самое начало файла после открывающего тега


      В данном коде мы можем отрегулировать некоторые параметры:

      • Строка 10 - если изменить значение 0 на 1, то рядом с номерами страниц будет выводиться надпись вида, например "Страница 3 из 45". Можете сделать такой вариант, но я считаю, что в данном случае он не нужен, так как в номерах страниц и так понятно, сколько страниц на сайте. А активная страница выделяется другим цветом;
      • Строки 11 и 12 - слева и справа номера активной страниц должно отображаться определенное количество предыдущих или следующих номеров соответственно. Тут мы выставляем их количество. В данном коде стоит значение 1. Можно поставить 2 или 3. Тут нужно будет немного поэкспериментировать, так как чем больше количество номеров, тем шире будет навигация. Все зависит от ширины шаблона.

      wp_corenavi () ;

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

      • Главная страница - index.php;
      • Страницы рубрик и архивов - category.php и archive.php;
      • Страница поиска - search.php.

      Кстати, в некоторых шаблонах вывод страниц рубрик и архивов может осуществляться одним файлом. У меня за это отвечает файл archive.php.

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

      Как правило, стандартная навигация в виде предыдущих и след. ссылок выводится с помощью подобного кода.

      < div class = "nav-previous" > ← Older posts" , "twentyten" ) ) ; ?> < / div >

      < div class = "nav-next" > "Newer posts " , "twentyten" ) ) ; ?> < / div >

      У каждого данный код может быть разным, но его основная начинка будет одинаковой. Вам нужно будет найти код, который будет содержать код с названиями next_posts_link и previous_posts_link.

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


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

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

      /* NAVIGATION */.navigation { float: left; width: auto; margin-left: 216px; margin-top: -2px; font-size: 16px; } .navigation > a { float: left; width: 32px; font-weight: 700; text-align: center; color: #637b93; text-decoration: none; margin-left: 1px; padding-top: 7px; } .navigation > .current { float: left; font-weight: 700; width: 29px; text-align: center; color: #c4c8cc; margin-left: 5px; padding-top: 7px; } .navigation > .prev { float: left; width: 32px; height: 34px; background: url("images/bow_left.png") no-repeat; margin-left: 0; } .navigation > .next { float: left; width: 34px; height: 34px; background: url("images/bow_right.png") no-repeat; margin-left: 14px; } .navigation > .dots { float: left; font-size: 14px; font-weight: 700; width: 32px; text-align: center; color: #c4c8cc; padding-top: 7px; }

      /* NAVIGATION */

      Navigation {

      float : left ;

      width : auto ;

      margin-left : 216px ;

      margin-top : -2px ;

      font-size : 16px ;

      Navigation > a {

      float : left ;

      width : 32px ;

      font-weight : 700 ;

      text-align : center ;

      color : #637b93 ;

      text-decoration : none ;

      margin-left : 1px ;

      padding-top : 7px ;

      Navigation > .current {

      float : left ;

      font-weight : 700 ;

      width : 29px ;

      text-align : center ;

      color : #c4c8cc ;

      margin-left : 5px ;

      padding-top : 7px ;

      Navigation > .prev {

      float : left ;

      width : 32px ;

      height : 34px ;

      background : url ("images/bow_left.png" ) no-repeat ;

      margin-left : 0 ;

      Navigation > .next {

      float : left ;

      width : 34px ;

      height : 34px ;

      background : url ("images/bow_right.png" ) no-repeat ;

      margin-left : 14px ;

      Navigation > .dots {

      float : left ;

      font-size : 14px ;

      font-weight : 700 ;

      width : 32px ;

      text-align : center ;

      color : #c4c8cc ;

      padding-top : 7px ;

      Также необходимо загрузить картинки стрелок перемещения вперед и назад на хостинг в папку images шаблона оформления. . Для загрузки можете пользоваться стандартным файловым менеджером хостинг провайдера. Я же .

      Когда разместили коды в файлах functions.php, во всех файлах, выводящих страницы с анонсами и прописали стили, можем проверить работоспособность навигации. У меня все работает и в стандартном шаблоне она имеет следующий вид.

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

      Плагин WP-PageNavi

      Для начала скачиваете плагин с официальной страницы и устанавливаете его на сайт.

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

      Теперь плагин будет выполнять свою задачу и номера страниц будут иметь следующее оформление.

      С одной стороны оформление не ахти, а с другой очень даже ничего, так как не мозолит глаза. Пользователи любят простоту! Поэтому, можно все так и оставить. Если же хотите чего-то более красочного, то сейчас мы с вами рассмотрим некоторые варианты. А пока мы обсудим такую вещь, как настройка wp pagenavi. Настройки имеются и о них стоит поговорить.

      Касаемо первого пункта настроек "Шаблоны списка страниц", то в нем ничего менять не нужно. Нас все устраивает. Мы двигаемся к пункту "Настройки списка страниц".

      Отмечу, что со всеми параметрами в этом пункте нужно экспериментировать, чтобы найти оптимальное значение для себя. Я лишь объясню вкратце, за что отвечает каждый параметр.

      • Использовать стиль - если поставим значение "No", то стили плагина уберутся и номера страниц не будут оформлены;

      • Стиль списка страниц - кроме обычного списка номеров страниц мы можем выбрать вариант выпадающего списка;

      • Всегда показывать список страниц- настройку не включаем. Нужно, чтобы список отображался только там, где это необходимо;
      • Количество страниц для показа - отвечает за количество выводимых номеров страницы в начале списка. По умолчанию, значение стоит 5 и на скриншотах выше вы можете посмотреть, что именно 5 страниц выводятся;
      • Диапазон страниц для показа - если на вашем сайте очень много страниц, то данная функция будет крайне полезна. Она будет выводить номера страниц после основного списка со значениями 10, 20, 30, 40 и так далее. Интервал между этими значениями определяется следующим параметром;
      • Коэффициент для диапазонов страниц - если выстави значения 5, то диапазон страниц будет иметь вид - 10, 15, 20, 25 и т.д. Если 10, то 10, 20, 30, 40 и так далее. Значения 10 вполне достаточно.

      Это все настройки, которые вам нужно выставить в соответствии со своими нуждами. Тут уже каждый по себя отрегулирует.

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

      После его установки в админ-панели WordPress появляется новый пункт.

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


      Если же хотим настроим стили индивидуально, то в первом пункте настроек "Select Stylesheet" выбираем вариант "Custom" и настраиваем параметры всех элементов (границ и их цветов, цветов и размеров шрифтов, цвета ссылок при наведении курсора мышки и так далее).


      Переведу вам все параметры.

      • Heading Color - цвет текста "Страница 3 из 45";
      • Background Color - цвет фона;
      • Active/Current Background color - цвет фона активного номера страницы;
      • Font Size - размер шрифта;
      • Link Color - цвет ссылки;
      • Link Mouse Hover/ Active Hover - цвет ссылки при наведении мышки на номер и при активности номера;
      • Link Border Color - цвет границы;
      • Link Border Mouse Hover/Active Color - цвет границы при наведении курсора мышки и пи активности номера;
      • Align Navigation - расположение навигации (слева, справа, центр).

      Значения цветов вы можете искать в интернете или же в программе Photoshop, когда выбираете нужный цвет для заливки.


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

      Второй вариант осуществляется с помощью редактирования файла стилей, который расположен в папке с плагином Wp-pagenavi на хостинге - pagenavi-css.css.

      Данный файл подключается, когда в настройках плагина активна настройка "Использовать стиль pagenavi-css.css". Поэтому, если мы его отредактируем, то после обновления плагина, все стили заменятся на стандартные. Чтобы каждый раз на заменять данный файл и не прописывать стили заново я рекомендую сделать следующую вещь:

      1. Отредактировать стили в этом файле на свои, придав нужное оформление постраничной навигации;
      2. Отключить настройку "Использовать стиль pagenavi-css.css";
      3. Разместить эти стили в основном файле стилей шаблона оформления style.css.

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

      Итак, друзья. Материал получится очень хорошим, как на меня. Что вы думаете на этот счет? Надеюсь, что вы все сделали. Если что-то не получается, то в комментариях постараюсь помочь. Пишите, не бойтесь! Я также когда-то очень мучился и мне удалось разобраться.

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

      С уважением, Константин Хмелев!

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

      Используя постраничную навигацию, пользователь может сразу переходить на страницу 6 или 8, не переходя последовательно со страницы на страницу. Такая навигация также полезна для SEO, поисковики предпочитают такую навигацию, она позволяет ботам легко переходить по записям на страницах сайта. С помощью бесплатных плагинов WordPress, приведённых в этой статье, вы можете установить постраничную навигацию на ваш веб-сайт.

      1 – WP Page Navi

      WP Page Navi – популярный плагин, который позволит посетителям вашего сайта с лёгкостью переходить со страницы на страницу. Он заменит опцию «Старые записи»/«Новые записи» на навигацию с пронумерованными страницами. Плагин не требует больших ресурсов и не влияет на скорость загрузки страниц.

      Этот плагин совместим с большинством существующих тем.

      • Требует мало ресурсов.
      • Дружественный к SEO.
      • Очень популярный.
      2 – WP Paginate

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

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

      Основные моменты и особенности:

      • Использует простую навигацию по страницам.
      • Дружественный к SEO.
      • Удобный для пользователей.
      3 – Simple Pagination
      Simple Pagination – это плагин, который позволит вам иметь навигацию как по вашим записям, так и по комментариям. Как подсказывает название, этот плагин очень прост в использовании. Вы можете даже подобрать стиль навигации, соответствующий теме вашего блога, с использованием таблиц стилей.

      Имеется 6 таблиц стилей для соответствия вашему сайту, а также поддержка двух языков.

      Основные моменты и особенности:

      • Использует простую навигацию по страницам.
      • Использует навигацию по комментариям.
      • Имеются таблицы стилей для разных типов отображения.
      • Имеются 6 типов стилей.
      4 – Page Links Plus

      Page Links Plus – плагин, который выполняет функцию добавления навигации в запись. Бывают случаи, когда ваша запись становится такой большой, что вам надо разделить её на части. В таких случаях вам поможет плагин Page Links Plus, который разобьёт вашу запись на страницы, показывая связь между ними, позволяющую посмотреть всю запись целиком.

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

      Основные моменты и особенности:

      • Позволяет нумеровать записи и страницы.
      • Имеется опция для просмотра всей записи.
      • Имеется множество настроек.
      • Имеется доступная Pro версия.
      5 – Alphabetic Pagination

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

      Он может быть использован в любом месте вашего сайта с помощью шорткода.

      Основные моменты и особенности:

      • Имеется навигация по алфавиту.
      • Имеется поддержка торговли.
      • Может быть размещён в любом месте с помощью шорткода.
      • Может показать список пользователей в алфавитном порядке.
      6 – Gallery Pagination for WordPress

      Плагин Gallery Pagination for WordPress поможет вам в навигации по галереям изображений вашего WordPress сайта. Он будет отображать все изображения в галерее, что поможет пользователю перейти непосредственно к любому изображению без необходимости прокрутки изображений одного за другим.

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

      Основные моменты и особенности:

      • Имеется навигация по галереям изображений.
      • Имеется поддержка CDN.
      • Дружественный к SEO.
      • Имеется кэширование.
      7 – Advanced Post Pagination
      Плагин Advanced Post Pagination будет осуществлять навигацию по вашим записям. Если ваша запись слишком большая, вы можете с помощью этого плагина разбить её на несколько страниц. Чтобы не запутаться в привычных цифровых кнопках, с помощью этого плагина вы можете поместить на кнопки текст и картинки. Вы можете использовать шорткод для того, чтобы разбивать запись на страницы так, как вам нравится.

      Ajax поможет вам перейти к разделу без необходимости перезагрузки всей страницы.

      Основные моменты и особенности:

      • Разбиение отдельной записи.
      • Использование текста и картинок на кнопках.
      • Использование шорткодов.
      • Использование Ajax.
      8 – WP Smart Pagination
      WP Smart Pagination – это удобный способ отображения записей с разделением на страницы, вместе с полем, в которое вы можете ввести номер страницы, что позволит вам моментально оказаться на нужной странице. Это очень полезно, если у вас на сайте много записей, что затрудняет пользователям переход к странице, которая находится очень далеко. В том случае, если у вас в наличии 4000 страниц записей, а пользователь хочет посмотреть 2555 страницу, этот плагин может оказать вам неоценимую услугу.

      Основные моменты и особенности:

      • Использует простую навигацию по страницам.
      • Имеется поле для прямого перехода к нужной странице.
      • Соответствие темам.
      • Имеется модификация стилей.
      9 – jPages Pagination For WordPress
      Это jQuery плагин, вдохновлённый jPages, с помощью которого вы без труда сможете разбить на страницы ваши галереи изображений и комментарии. Это в полной мере отзывчивый плагин, который будет осуществлять навигацию по контенту для всех видов устройств с различными размерами экрана. jPages Pagination For WordPress – небольшой плагин, который позволит легко интегрировать навигацию с jQuery.

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

      Основные моменты и особенности:

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

Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: