is_page

Проверяет отображается ли страница “постоянной страницы”. Можно указать ID, ярлык или заголовок страницы для проверки. Условный тег.

✈ 1 раз = 0.000012с = очень быстро | 50000 раз = 0.02с = скорость света PHP 7.0.8, WP 4.6.1

Хуков нет.

Возвращает

true/false. true, если отображается тип страницы: постоянной страницы и false, если отображается любой другой тип страницы.

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

if( is_page( $page ) ){
	 //код
}
$page(строка/число/объект)
ID страницы, которую нужно проверить. Вместо ID можно передать: ярлык (slug) страницы, заголовок страницы или массив параметров (ID, ярлык, заголовок).
По умолчанию: нет

Примеры

#1. Функция в действии

Различные примеры использования – случаи когда функция возвращает true (срабатывает):

is_page();
// Когда отображается любая постоянная страница.

is_page(42);
// когда отображается страница с ID 42.

is_page('О сайте');
// Когда отображается страница с заголовком "О сайте".

is_page('o-saite');
// Когда отображается страница со слагом "o-saite".

is_page( array(42, 'o-saite', 'О сайте') );
// Параметры можно комбинировать. Добавлено в версии 2.5.

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

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

Пример 1

is_page( '' )
is_page( 0 )
is_page( '0' )
is_page( null )
is_page( false )
is_page( array() )

Нельзя использовать внутри Цикла WordPress

Из-за того что в при работе цикла переписываются некоторые глобальные переменные, is_page() не получится использовать внутри цикла. Впрочем, в этом нет необходимости. Чтобы использовать этот Тег шаблона после цикла, цикл надо сбросить функцией: wp_reset_query()

Код из


wp-includes/query.php

WP 4.7.2

<?php
function is_page( $page = '' ) {
	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_page( $page );
}

Комментарии:


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

Your email address will not be published. Required fields are marked *