По-умолчание в WordPress, на мой взгляд, не очень удобная навигация по страницам. С помощью этого фрагмента создается «классическая» навигация по страницам, как при использовании плагина WP-PageNavi, т.е. вместо двух кнопок «старые записи» и «новые записи», создаются ссылки на страницы и кнопочки «вправо» и «влево». Зачем перегружать сайт использую плагин, когда можно добиться подобного результата, используя небольшое усовершенствование. Добавьте следующие строки кода в файл темы functions.php:
<? function pagination($prev = '«', $next = '»') { global $wp_query, $wp_rewrite; $wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;
$pagination = array(
'base' => @add_query_arg('paged','%#%'),
'format' => '',
'total' => $wp_query->max_num_pages,
'current' => $current,
'prev_text' => __($prev),
'next_text' => __($next),
'type' => 'plain'
);
if( $wp_rewrite->using_permalinks() )
$pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg( 's', get_pagenum_link( 1 ) ) ) . 'page/%#%/', 'paged' );
if( !empty($wp_query->query_vars['s']) )
$pagination['add_args'] = array( 's' => get_query_var( 's' ) );
echo paginate_links( $pagination );
}; ?>
Затем необходимо добавить в файлы (обычно это index.php, arhive.php, search.php и др.) после цикла вывода записей (цикл заканчивается endwhile;), следующий код:
<? pagination('<<', '>>'); ?>
Старый код навигации нужно либо за комментировать, либо удалить. В стандартной теме Twentyeleven он выглядит так (twentyeleven_content_nav( ‘nav-below’ );).
Вы также можете использовать следующие CSS стили для настройки внешнего вида:
.page-numbers { font-size: 15px; }
.page-numbers.current { color: #222; }
.page-numbers .dots { letter-spacing: 1px }
a.page-numbers { font-size: 14px; color: #3888ff; }