Алгоритм действий
Почти все блогеры, работающие с WordPress, знают о плагине WP-PageNavi, который демонстрирует навигацию следующего вида:
Но еще не все в курсе, что система имеет встроенную функцию, реализующие почти те же возможности, что и плагин. Выходит, что его можно и не использовать. Данная функция имеет небольшие размеры:
function wp_corenavi() {
global $wp_query;
$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 = 1; //1 — выводить текст «Страница N из N», 0 — не выводить
$a[‘mid_size’] = 3; //сколько ссылок показывать слева и справа от текущей $a[‘end_size’] = 1; //сколько ссылок показывать в начале и в конце
$a[‘prev_text’] = ‘«’; //текст ссылки «Предыдущая страница»
$a[‘next_text’] = ‘»’; //текст ссылки «Следующая страница»
if ($max > 1) echo ‘<div class=»navigation»>’;
if ($total == 1 && $max > 1) $pages = ‘<span class=»pages»>Страница ‘ . $current . ‘ из ‘ . $max . ‘</span>’.«\r\n»;
echo $pages . paginate_links($a);
if ($max > 1) echo ‘</div>’;
}
Расположите этот код в файле functions.php. Функция имеет необходимые опции, которые разделены между собой разрывами строчек. Чтобы настроить навигацию в том месте, где это необходимо, требуется вставить в шаблон такой код:
<?php if (function_exists(‘wp_corenavi’)) wp_corenavi(); ?>
Полученный HTML-код будет выглядеть так:
<div class=«navigation»>
<span class=«pages»>Страница 7 из 27</span>
<a class=‘prev page-numbers’ href=‘http://wordpress31/page/6/’>« Предыдущая</a>
<a class=‘page-numbers’ href=‘http://wordpress31/page/1/’>1</a>
<span class=‘page-numbers dots’>…</span>
<a class=‘page-numbers’ href=‘http://wordpress31/page/4/’>4</a>
<a class=‘page-numbers’ href=‘http://wordpress31/page/5/’>5</a>
<a class=‘page-numbers’ href=‘http://wordpress31/page/6/’>6</a>
<span class=‘page-numbers current’>7</span>
<a class=‘page-numbers’ href=‘http://wordpress31/page/8/’>8</a>
<a class=‘page-numbers’ href=‘http://wordpress31/page/9/’>9</a>
<a class=‘page-numbers’ href=‘http://wordpress31/page/10/’>10</a>
<span class=‘page-numbers dots’>…</span>
<a class=‘page-numbers’ href=‘http://wordpress31/page/27/’>27</a>
<a class=‘next page-numbers’ href=‘http://wordpress31/page/8/’>Следующая »</a>
</div>
Вы можете сами убедиться, что здесь есть все нужные CSS-классы. Их можно применять для настройки навигации. Как видите, все достаточно просто. С данной задачей по силам справиться каждому.