Предложенный код добавит на главной странице номера страниц, вместо стандартного “предыдущая” и “следующая”. Согласитесь, постраничная навигация намного удобнее, особенно, если записей в блоге много. Скрипт не мой, и я уже не помню, где его взяла. Смысл его в том, чтобы добавить постраничную навигацию для главной страницы блога, а также для страниц рубрик и тегов. Пусть будет тут, чтобы не потерялся.
Конечно, для реализации пагинации для блога можно использовать плагин, но я предпочитаю использовать их как можно меньше.
Сначала, добавляем несколько строк кода в конец файла функций используемой темы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
// pagination function oriolo_pagination($pages = '', $range = 2) { $showitems = ($range * 2)+1; global $paged; if(empty($paged)) $paged = 1; if($pages == '') { global $wp_query; $pages = $wp_query->max_num_pages; if(!$pages) { $pages = 1; } } if(1 != $pages) { echo "<div class='clearfix navigation-top'><div class='pagination'><span> ". __('Pages:', 'existentia') ." </span>"; if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo "<a href='".get_pagenum_link(1)."'>«</a>"; if($paged > 1 && $showitems < $pages) echo "<a href='".get_pagenum_link($paged - 1)."'>‹</a>"; for ($i=1; $i <= $pages; $i++) { if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )) { echo ($paged == $i)? "<span class='current'>".$i."</span>":"<a href='".get_pagenum_link($i)."' class='inactive' >".$i."</a>"; } } if ($paged < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($paged + 1)."'>›</a>"; if ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($pages)."'>»</a>"; echo "</div></div>\n"; } } |
Теперь в то место шаблона, где нужно высвести постраничную навигацию, вставляем код для вызова функции:
1 2 |
if (function_exists('oriolo_pagination')) oriolo_pagination(); else posts_nav_link(); |
После этого, на главной странице блога, при наличии достаточного количества записей, должны появиться цифры с номерами страниц. Теперь давайте оформим созданную постраничную навигацию при помощи стилей:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
/* pagination */ .pagination { clear: both; font-size: 11px; line-height: 13px; padding: 0; position: relative; } .pagination span, .pagination a { background: #666; color: #FFF; display: block; float: left; font-weight: normal; margin: 2px 2px 2px 0; padding: 6px 9px 5px 9px; text-decoration: none; width: auto; } .pagination a:hover { background: #365DA1; color: #FFF; } .pagination .current { background: #365DA1; color: #FFF; padding: 6px 9px 5px 9px; } |
На этом все. Посмотреть пример использования пагинации для wordpress вы можете на главной странице моего блога.