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

Многие используют различные плагины постраничной навигации, и я думаю не новость что популярных плагинов всего 2 — wp_pageNavi и paginator3000. Но я не сторониик плагинов, я предпочитаю вписывать функции в код, особенно если они проще чем плагины.

Думаю не стоит объяснять как устанавливать плагины для постранички, вместо этого я предложу код для постраничной навигации без плагина.

И так, открываем файл 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'] = ($wp_rewrite->using_permalinks()) ? user_trailingslashit( trailingslashit( remove_query_arg( 's', get_pagenum_link( 1 ) ) ) . 'page/%#%/', 'paged' ) : @add_query_arg('paged','%#%');
if( !empty($wp_query->query_vars['s']) ) $a['add_args'] = array( 's' => get_query_var( 's' ) );
$a['total'] = $max;
$a['current'] = $current;

$total = 1; //1 - выводить текст "Страница N из N", 0 - не выводить
$a['mid_size'] = 10; //сколько ссылок показывать слева и справа от текущей
$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 archive.php и другие файлы для вывода постов и где будет нужна постраничная навигация и ищём эти функции



именно они отвечают за вывод стандатной навигации,а именно ссылок «вперёд» и «назад», и заменяем их на


И можете спокойно наблюдать у себя на сайте простенькую, но лёгкую постраничную навигацию.