WordPress как на ладони
Прибыльная монетизация. Выгодно. Безопасно. Стабильно.

is_paged()WP 1.5.0

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

Этот условный тег относится только к страницам типа архивы, главной странице, дат, т.е. к тем страницам которые делятся на несколько.

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

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

Хуков нет.

Возвращает

true|false.

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

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

Примеры

0

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

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

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

<?php } ?>
0

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

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

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

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

В записях можно использовать шоткод <!--nextpage-->. Такой код будет делить текст записи на несколько страниц. И URL например второй страницы будет выглядеть так: http://example.com/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']}";
	}
}

Заметки

  • Global. WP_Query. $wp_query WordPress Query object.

Список изменений

С версии 1.5.0 Введена.

Код is_paged() WP 6.1.1

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();
}
2 комментария
    Войти