Wp постраничная навигация без плагина. WordPress Постраничная навигация без плагина! Постраничная навигация WordPress с помощью плагина WP-PageNavi

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

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

Постраничная навигация WordPress с помощью плагина WP-PageNavi

Постраничная навигация WordPress блога

Как установить и настроить плагин WP-PageNavi

Как видно из скриншота, Вы можете заменить текст на свой или оставить всё как есть. Отметьте -Использовать стиль pagenavi-css.css или нет. Если вам нужно настроить CSS стиль WP-PageNavi сделать это можно в файле плагина. Надо для этого перейдите в раздел "Плагины" - "Редактор", выберете в качестве плагина для изменения WP-PageNavi и найдите в открывшемся списке файл wp-pagenavi/pagenavi-css.css. По настройкам все понятно. Следующий шаг такой.

В вашей теме в файлах index.php, archive.php и search.php , необходимо найти призывы к next_posts_link () и previous_posts_link () и заменить их. В теме TwentyTen, это выглядит так:

Может в других темах выглядеть и так:

Ищите, что то похожее и вам надо заменить эти строчки этим:

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

Плагин WP PageNavi Style добавляет больше цветовых вариантов для Wp-PageNavi

Да, Вы не ошиблись, для того, чтобы можно было воспользоваться готовыми стилями для постраничной навигации WP-PageNavi, надо установить дополнительный плагин WP PageNavi Style от этого же разработчика. Установите таким же образом этот модуль, активируйте его и у вас появится пункт WP PageNavi Style в боковой колонке админки. Нажмите её для настроек и выбора стиля для вашей новой навигации:

Настройка плагина WP PageNavi Style

Как видно из скриншота, можно выбирать различные красивые панельки и расположение её. Набор стилей плагина:

Набор стилей плагина Плагин WP PageNavi Style

Какой большой выбор. Если не хотите использовать готовые стили, установите - Custom и настройте стиль по своему:

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

Как установить постраничную навигацию WordPress без плагина

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

Откройте файл "Функции темы" (functions.php), прокрутите страницу вниз и перед закрывающим тегом ?> вставьте такой код (не забудьте на всякий сделать резервную копию, если пойдет, что не так:

Function navigation() { 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"] = 3; //сколько ссылок показывать слева и справа от текущей $a["end_size"] = 5; //сколько ссылок показывать в начале и в конце $a["prev_text"] = "« Предыдущая "; //текст ссылки "Предыдущая страница" $a["next_text"] = "Следующая »"; //текст ссылки "Следующая страница" if ($max > 1) echo "

"; if ($total = 1 && $max > 1) $pages = "Страница " . $current . " из " . $max . ""."\r\n"; echo $pages . paginate_links($a); if ($max > 1) echo "
"; }

Затем, меняем стандартный код вывода во всех файлах, где есть навигация - index.php, category.php, archive.php и так далее. Меняем вместо:

Next_posts_link("« Вперед"); previous_posts_link("Назад »");

Navig { padding:15px 0 25px 0; overflow:hidden; font-size:13px; color:#000; clear:both;} .navig a{background: #fff; border: 1px solid #DDDDDD; color: #000000; font-size: 13px; padding:5px; text-decoration: none;} .navig span.pages {padding: 3px 5px; background:#f1f8f9; border: 1px solid #C6D2D4;} .navig a:hover{background: #fff; border: 1px solid red; color:red; font-size: 13px; text-decoration: none;} .navig span.pages {padding: 3px 5px; background:#f1f8f9; border: 1px solid #C6D2D4;} .navig span.current {background: #fff; border: 1px solid #111; font-size: 13px; padding:5px; text-decoration: none;} .navig span.extend {padding: 3px 5px; background:#f1f8f9; border: 1px solid #C6D2D4;} .str{background: #fff; color: #000000; font-size: 13px; padding: 5px; text-decoration: none;}

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

(function(w, d, n, s, t) { w[n] = w[n] || ; w[n].push(function() { Ya.Context.AdvManager.render({ blockId: "R-A-292864-4", renderTo: "yandex_rtb_R-A-292864-4", async: true }); }); t = d.getElementsByTagName("script"); s = d.createElement("script"); s.type = "text/javascript"; s.src = "//an.yandex.ru/system/context.js"; s.async = true; t.parentNode.insertBefore(s, t); })(this, this.document, "yandexContextAsyncCallbacks");

(3)

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

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

1. WP-PageNavi

Один из наиболее популярных и часто используемых плагинов. С помощью встроенной функции wp_pagenavi() привычные линки ← Назад | Далее → изменятся на привлекательную нумерацию страниц.

2. WP Smart Pagination


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

3. Simple Pagination

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

4. Alphabetic Pagination


С помощью этого плагина можно сделать фильтр записей и страниц по алфавиту. Он прост не только в установке, но и в использовании.

5. jPages pagination for WordPress


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

6. Paginate


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

7. Next Post Fly Box For WordPress


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

8. JQuery Paginator Plugin


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

9. Smart Pagination


Отличный плагин, который предлагает 11 разных вариантов пагинации.

Бонус. CSS стили для WP-PageNavi плагина


Отличное собрание CSS-стилей для популярных плагинов для WordPress - WP-PageNavi и WP-Paginate. Включает в себя HTML страницы с демонстрацией стилей, а каждый стиль содержит отдельный CSS файл.

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

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

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

Постраничная навигация при помощи плагина.

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

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

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

/*******************************

Навигация

*******************************/

function emm_paginate($args = null) {
$defaults = array(
‘page’ => null, ‘pages’ => null,
‘range’ => 3, ‘gap’ => 3, ‘anchor’ => 1,
‘before’ => ‘

’, ‘after’ => ‘
’,
‘title’ => __(”),
‘nextpage’ => __(‘»’), ‘previouspage’ => __(‘«’),
‘echo’ => 1
);

$r = wp_parse_args($args, $defaults);
extract($r, EXTR_SKIP);
if (!$page && !$pages) {
global $wp_query;
$page = get_query_var(‘paged’);
$page = !empty($page) ? intval($page) : 1;
$posts_per_page = intval(get_query_var(‘posts_per_page’));
$pages = intval(ceil($wp_query->found_posts / $posts_per_page));
}

$output = “”;
if ($pages > 1) {
$output .= “$before$title”;
$ellipsis = “”;
if ($page > 1 && !empty($previouspage)) {
$output .= “$previouspage”;
}

$min_links = $range * 2 + 1;
$block_min = min($page – $range, $pages – $min_links);
$block_high = max($page + $range, $min_links);
$left_gap = (($block_min – $anchor – $gap) > 0) ? true: false;
$right_gap = (($block_high + $anchor + $gap) < $pages) ? true: false;
if ($left_gap && !$right_gap) {
$output .= sprintf(”,

$ellipsis,
emm_paginate_loop($block_min, $pages, $page));
}

else if ($left_gap && $right_gap) {
$output .= sprintf(”,
emm_paginate_loop(1, $anchor),
$ellipsis,
emm_paginate_loop($block_min, $block_high, $page),
$ellipsis,

}

else if ($right_gap && !$left_gap) {
$output .= sprintf(”,
emm_paginate_loop(1, $block_high, $page),
$ellipsis,
emm_paginate_loop(($pages – $anchor + 1), $pages));
}

else {
$output .= emm_paginate_loop(1, $pages, $page);
}

if ($page < $pages && !empty($nextpage)) {
$output .= “$i”;
}
return $output;
}

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

добавим код:

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

Для этого в конце вашего файла стилей добавляем следующий код

/* Навигация */

Emm-paginate { margin-bottom:60px; clear:both; }
.emm-paginate a { border: 0px solid #ccc; background: #ebebeb; color:#333; margin-right:7px; padding:6px 14px; text-align:center; text-decoration:none;}
.emm-paginate .emm-title {color:#555; margin-right:4px;}
.emm-paginate .emm-gap {color:#999; margin-right:4px;}
.emm-paginate a:hover, .emm-paginate a:active, .emm-paginate .emm-current { color:#fff; background:#5cbfd7; border: 0px solid #63800c; margin-right:7px; padding:6px 14px;}
.emm-paginate .emm-page {}
.emm-paginate .emm-prev, .emm-paginate .emm-next {}

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




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

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

Установка плагина

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

После установки и активации плагина вам следует внести некоторые изменения в вашу активную тему WordPress. Она находится в директории wp-content/themes. Найдите в этой директории папку с названием вашей активной темы.

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

В файлах вашей темы следует найти вызов функций next_posts_link и previous_posts_link . Они могут быть в нескольких местах, но чаще всего в файлах index.php, archive.php и functions.php.

Эти функции выводят стандартную навигацию, и для вывода постраничной навигации с помощью WP-PageNavi, их стоит заменить вызовом одной новой функции wp_pagenavi .

Для примера рассмотрим стандартную тему Twenty Twelve. В файле functions.php найдите следующий код:

И вместо вызова функций next_posts_link и previous_posts_link вызывайте функцию wp_pagenavi:

Обратите внимание на третью строку. Здесь мы так же добавили обращение к функции function_exists перед вызовом wp_pagenavi . Это поможет предотвратить вывод ошибки в случае деактивации или отсутствия плагина WP-PageNavi.

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

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

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

Настройки WP-PageNavi

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

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

О постраничной навигации «без плагинов»

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

Подход к расширению WordPress «без плагинов» не имеет никаких преимуществ, зато имеет немалое количество недостатков:

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

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

Альтернативы

Если вам по какой-либо причине не подошёл плагин WP-PageNavi, в качестве альтернативы советуем рассмотреть плагины WP-Paginate и WP Page Numbers , которые реализуют подобный функционал.

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

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

Итак, прежде чем перейти к настройкам навигации необходимо настроить удобный режим чтения ваших постов, которые будут отображаться на странице блога. Для этого переходим в Панель Администрирования — Настройки -Чтение:

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

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

Когда у Вас на блоге количество постов предположим 10-15 и они занимают не более 2-3 страниц то такая навигация вполне удобна, но когда важ блог регулярно наполняется контентом и количество статей близится к 100 или 200 и все эти посты размещены 5 на каждой странице. То Я думаю не сложно будет подсчитать сколько страниц будет размещено на блоге. При этом чтоб посетителю Вашего блога найти какой либо пост не приходилось пролистывать все страницы блога на WordPress, постраничная навигация должна иметь более удобный и функциональный вид для пользователя:

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

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

Технические настройки

Окрываем Панель администрирования- Настройки -Редактор -открываем файл 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 ‘

’;
if ($total == 1 && $max > 1) $pages = ‘Страница ‘ . $current . ‘ из ‘ . $max . ‘’.»\r\n»;
echo $pages . paginate_links($a);
if ($max > 1) echo ‘
’;
}

или же вот такой вид:

и заменяем выделенный код на следующий:

После этого проверяем настройки на вашем сайте должно отобразится стандартоное отображение настроек навигации:

Панель навигации

*/
.wp-pagenavi {
height: 50px;
clear: both;

color:#BB7B00;
}
.wp-pagenavi span.pages{
color: #BB7B00;
}
.wp-pagenavi a, .wp-pagenavi span {
text-decoration: none;
padding: 6px 9px;
margin: 2px;
background:#ffffff;
font: bold 14px Verdana,sans-serif;
color: #85B6C5;
border-radius:5px ;
}
.wp-pagenavi a:hover, .wp-pagenavi span.current {
border-color: #BB7B00;
background:#85B6C5;
color:#ffffff;
}
.wp-pagenavi span.current {
color: #f5f5f5;
background:#85B6C5;
padding: 8px 9px;
}

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

Для того, чтоб избавиться от дополнительных дублей страниц, которые не любят поисковые системы нам необходимо закрыть от индексации страницы page. Для этого в начале файла functions.php нам необходимо добавить следующий код:

/*** ДОБАВЛение meta robots noindex,nofollow ДЛЯ СТРАНИЦ ***/
function my_meta_noindex () {

if (
is_paged() // Все и страницы навигации
) {echo «».’’.»\n»;}
}

add_action(‘wp_head’, ‘my_meta_noindex’, 3); // добавляем noindex,nofollow в head

Сохраняемся и проверяем наши настройки. Для этого открываем любую из страниц 2, 3-10 и т.д нажимаем Ctrl+U и в кодировке страницы должен отображаться следующий код:

При этом важно в файле robots.txt не должны закрываться Disallow: /page от индексации. На этом настройки завершены надеюсь Вы разобрались во всех этих кодировках. Если остались вопросы пишите в комментариях, обязательно отвечу. До скорых встреч!

Loading...Loading...