Как вывести номер текущей страницы

Способ, описанный в этом посту, позволяет в любом месте вывести либо получить и записать в переменную номер страницы, на которой вы находитесь, применимо для:

  • страниц архивов постов — рубрики, метки, пользовательские таксономии,
  • главной страницы блога (если она используется для вывода постов),
  • страниц с произвольными шаблонами (если они также используются для вывода постов).

Работает на основе get_query_var(), которая, в свою очередь, использует глобальный объект $wp_query — это означает, что функция видит только главный цикл страницы, то есть функция будет также работать для цикла query_posts(), но не будет работать для WP_Query.

$pageNum=(get_query_var('paged')) ? get_query_var('paged') : 1; // получаем номер текущей страницы и присваиваем значение переменной
echo $pageNum; // выводим номер текущей страницы

Для тех, кто не знаком с сокращенной записью условных операторов (shorthand), вот аналог данного кода:

$pageNum = 1; // по умолчанию номер страницы всегда будет 1
if( $cur_page = get_query_var('paged') ) { 
	$pageNum = $cur_page;
}
// и выводим результат:
echo $pageNum;

Использование номера текущей страницы в навигации по сайту, а также его польза для SEO.

Окей, давайте теперь посмотрим, где и для чего он нам в принципе может пригодиться:

  • в хлебных крошках страниц,
    Вывод номера текущей страницы в хлебных крошках.
  • в скрипте (или плагине) постраничной навигации,
    Постраничная навигация.
  • в тайтлах архивов категорий (т.е. для того, чтобы они были уникальными — на мой взгляд, это большой плюс для внутренней seo-оптимизации сайта),
    Использование номера текущей страницы в заголовках постов
  • для произвольного шаблона страницы блога.

Приведу нестандартный пример, который использовал я:

function robots_meta(){
	$pageNum=(get_query_var('paged')) ? get_query_var('paged') : 1;
	if ($pageNum>1) 
		echo '<meta name="robots" content="noindex, follow">';
}

Функция применялась для внутренней перелинковки и вызывалась между <head> и </head> — то есть в рубриках для индексации была доступна только первая страница, на остальных уже вставлялся блокирующий мета тег, зато в каждом посту было несколько ссылок на следующие 5 записей из этой же категории.

Смотрите также

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Комментарии закрыты.