Вы знаете, что сегодня у нас с вами профессиональный праздник? 4 апреля (4.04) — это всемирный день вебмастеров и интернет-разработчиков. О нескончаемом трафике, высоких позициях и дружелюбии поисковиков молимся святому Исидору Севильскому, покровителю учеников и студентов. В 2003 году он был официально назначен католической церковью также покровителем Интернета как сокровищницы знаний. А 4.04 — это известный код ошибки http 404 Not Found, которая означает, что сервер не смог найти запрашиваемую страницу.

Так что — мои вам поздравления и пожелания удачи в нашем с вами нелегком ремесле.

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

постраничная навигация wordpress

Для того, чтобы соорудить такое, существуют разные способы. Мы пойдем наиболее простым и воспользуемся плагином WP-PageNavi.

Скачиваем, устанавливаем как обычно (в меню админки  — «Плагины»- «Добавить новый» и загружаем скачанный zip-архив).

Активируем и видим, что ничего не изменилось 🙂 Нужно кое-что добавить в код вашей темы. Идем редактировать файлы темы: «Внешний вид» — «Редактор». Для начала определитесь, на каких именно страницах у вас должен выводиться список страниц. Обычно это главная страница (файл index.php или home.php), страницы рубрик (category.php), архивы (archives.php), страница результатов поиска по сайту (search.php).

Начнем с файла index.php. Открываем его на редактирование и ищем код, отвечающий за навигацию, выглядеть он может примерно так:
<div class="navigation">
<div class="alignleft"><?php echo $next_link; ?></div>
<div class="alignright"><?php echo $prev_link; ?></div>
</div>

Или так:

<div id="nextprevious">
<div class="left"><?php posts_nav_link('','','&laquo; previous entries') ?>&nbsp;&nbsp;</div>
<div class="right"><?php posts_nav_link('','next entries &raquo;','') ?></div>
</div>

В разных темах может быть по-разному, но везде это что-то, связанное с навигацией — nav, next, previous. Хорошие, добрые разработчики шаблонов даже помечают эти куски специальными комментариями:

перед блоком пишут, например <!-- Prev/Next page navigation -->, а после — <!--page navi end -->

Теперь этот код надо заменить своим. Если боитесь напортачить, прежде чем вносить изменения, сохраните копию файла. Это можно сделать ftp-менеджером (найдите файл, который собираетесь насиловать и скопируйте его себе на компьютер. Если вдруг что-то поломается, вы так же с помощью ftp-менеджера замените испорченный файл на сервере на чистый и непорочный с вашего компьютера).

Так вот. Кусок про навигацию нашли, копию сохранили, перекрестились — и меняем этот кусок на вот такой:

<?php wp_pagenavi();  ?>

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

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

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