Следить за новостями:

Категории
Свежие записи
BrainFБлог

Постраничная навигация wordpress. Простой вариант.

Вестьма странно, но оказывается в WordPress нет нативной возможности отбразить постраничную навигацию. Возможности движка ограничиваются ссылками «предыдущая/следующая страница». Данный недостаток можно исправить либо одним из множества плагинов, либо сделать навигацию без плагинов.

Постраничная навигация

Как вообще должна выглядеть постраничная навигация? Есть два варианта:

  1. — список всех страниц с подсветкой текущей
  2. — список из нескольких ближайших к текущей страниц

Для того чтобы сделать список стриниц для постраничной навигации, в файл functions.php добавляем следующую функцию:

function bf_pagination() {
	global $wpdb, $wp_query;
	echo '<ul class="pagination">';
	$paged = intval(get_query_var('paged'));
	$paged = ($paged) ? $paged : 1; //текущая страница
	for ( $i=1; $i<=$wp_query->max_num_pages; $i++) {
		echo '<li'.(($i==$paged)?" class=\"current\"":"").'><a href="'.esc_url(get_pagenum_link($i)).'">'.$i
		.'</a></li>';
	}
	echo '</ul>';
}

В шаблоне в том месте где мы хотим вывести постраничную навигацию добавляем следующий код:

<?php bf_pagination(); ?>

На сайте это будет выглядеть например так:

<ul class="pagination"><li><a href="http://wptest/?cat=11">1</a></li><li><a href="http://wptest/?cat=11&amp;paged=2">2</a></li><li class="current"><a href="http://wptest/?cat=11&amp;paged=3">3</a></li><li><a href="http://wptest/?cat=11&amp;paged=4">4</a></li></ul>

Нам осталось только привести в порядок стили.

.pagination

— стиль списка.

.pagination li

— стиль элемента списка

.pagination .current

— стиль для отображения текущей страницытекущей страницы

Еще по теме

Ваш комментарий
выберите имя