Если вы посмотрите в этом блоге на главной странице вниз, то увидите там постраничную навигацию — любимый навигационный элемент многих блоггеров.
Постраничная навигация удобна тем, что дает примерное представление об общем объеме блога, и позволяет быстро перемещаться по страницам, снабжая такое перемещение удобной индикацией. Есть множество плагинов, которые создают постраничную навигацию: Pagebar, jQuery Paginator, WP Page Number, WP-PageNavi и другие. Если вы решили все же уменьшить количество плагинов, то для организации постраничной навигации можно и вовсе обойтись без них. Давайте создадим постраничную навигацию своими руками.
Как и в случае создания «хлебных крошек» без плагинов, будем работать с отдельным файлом. Создайте пустой текстовый файл, и назовите его pagenavi.php. Вставьте в него такой код:
<?php global $wp_query; $max_page = $wp_query->max_num_pages; $nump=2; /*Количество отображаемых подряд номеров страниц*/ if($max_page>1){ $paged = intval(get_query_var('paged')); if(empty($paged) || $paged == 0) $paged = 1; echo '<div class="pagenavi">'; /* echo 'Страница '.$paged.' из '.$max_page.' ';*/ if($paged!=1) echo '<a href="'.get_pagenum_link(1).'">1</a> '; else echo '<u>1</u>'; if($paged-$nump>1) $start=$paged-$nump; else $start=2; if($paged+$nump<$max_page) $end=$paged+$nump; else $end=$max_page-1; if($start>2) echo "<b>...</b>"; for ($i=$start;$i<=$end;$i++) { if($paged!=$i) echo '<a href="'.get_pagenum_link($i).'">'.$i.'</a> '; else echo '<u>'.$i.'</u>'; } if($end<$max_page-1) echo "<b>...</b>"; if($paged!=$max_page) echo '<a href="'.get_pagenum_link($max_page).'"> Последняя »</a>'; else echo '<b> Последняя</b> '; echo '</div>' ; } ?>
Теперь внедрим этот файл в тему. Перепишите этот файл в папку с вашей темой. Постраничная навигация нужна там, где выводится множество постов — на главной странице, а результатах поиска и в архивах. Значит нам нужно вставить ее в index.php, search.php и archive.php. Откройте файл index.php и найдите вывод навигации по страницам. Обычно он выглядит примерно так:
<?php previous_posts_link('Предыдущая страница') ?> <?php next_posts_link(' Следующая страница') ?>
Можете оставить ее, но лучше ее удалить, так как такая навигация больше не понадобится, и вместо нее вставить такой код:
<div class="navigation"> <?php include(TEMPLATEPATH."/pagenavi.php"); ?> </div>
В остальные страницы код вставляется по аналогии. Постраничная навигация имеет свое оформление, которое нужно добавить в файл style.css:
.navigation {clear:both; width:500px; height:auto;text-align:center;margin:30px 0 30px 50px;padding-top:15px;} .navigation .right, .navigation .left {width:230px; font-size:18px;text-align:right;margin:0;} .navigation .left {text-align:left;} .navigation a, .navigation a:visited {text-decoration:none;color:#939186;} .navigation a:hover {color:#5D5643;text-decoration:none;} .pagenavi {clear:both;display:block;font-size:14px;margin:0;padding:7px 0 7px 0;} .pagenavi a {clear: both;width:auto;font-size:14px;padding:3px 7px 3px 7px;background-color:#F3EFE6;} .pagenavi b {clear:both;width:auto;margin:0 6px 0 5px;text-decoration:none;}
Все, постраничная навигация без плагинов готова — можете пользоваться!