WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

is_paged() WP 1.5

Проверяет отображается ли страница пагинации (страница типа /page/2, /page/3).

Этот условный тег относится только к страницам типа архивы, главной странице, дат, т.е. к тем страницам которые делятся на несколько. Но не относится к постам и постоянным страницам разделенным на несколько страниц, тегом <!--nextpage-->.

Работает на основе: WP_Query::is_paged()

Хуков нет.

Возвращает

true/false.

Использование

if( is_paged() ){
	// ...
}

Примеры

#1. Уберем блок в сайдбаре на страницах пагинации:

<?php if( !is_paged() ){ ?>

<!-- Блок, который будет показан только на основной странице, но не странице пагинации -->

<?php } ?>

#2. Проверка на какой конкретно странице пагинации мы находимся

Когда нужно проверить конкретную страницу пагинации, используйте get_query_var('paged').

if( get_query_var('paged') == 3 ){ 
	// Сработает на 3-й страницы пагинации
}

#3 Проверка разделения записей на страницы

В записях можно использовать шоткод <!--nextpage-->. Такой код будет делить текст записи на несколько страниц. И URL например второй страницы будет выглядеть так: http://wptest.ru/privet-mir/2/

Пример 1

$paged = get_query_var( 'page' );
// $paged = $wp_query->get( 'page' ); // или можно так...

if ( $paged < 2 ){
	// Это первая страница или пост не разделен на страницы
}
else {
	// Это 2,3,4 ... страница разделенного поста.
}

Пример 2

Проверим разделен ли пост на страницы вообще...

the_post();

if( !empty($GLOBALS['multipage']) ){
	// запись разделена на страницы
}

Пример 3

Узнаем сколько страниц у записи

the_post();

if( !empty($GLOBALS['numpages']) ){
	if( $GLOBALS['numpages'] === 1 ){
		// не разделена
	}
	else {
		// запись разделена на страницы
		echo "Кол-во страниц {$GLOBALS['numpages']}";
	}
}

Код is_paged: wp-includes/query.php VER 5.0.1

<?php
function is_paged() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_paged();
}

Cвязанные функции

Из метки: Условные теги (типов страниц и запросов )

Еще из метки: Условные теги (все)

Еще из раздела: Запросы

Еще из тегов шаблона: Основные

2 коммента
  • Алексей cайт: www.realien.net

    $wp_query->query_vars['page']
    ошибочка. нужно paged
    $wp_query->query_vars['paged']

    Ответить6.10 лет назад #
Здравствуйте, !     Войти . Зарегистрироваться