is_page() — проверяет, отображается ли в данный момент «страница WordPress»

Возвращает true, если в настоящий момент отображается тип записей page (постоянные страницы), то есть я имею ввиду вот эти страницы:

страницы в WordPress
is_page( $page = '' )

$page
(целое|строка|массив) — ID, ярлык или заголовок страницы, либо несколько значений ID, ярлыков и заголовков в виде массива.

Примеры использования

Без каких-либо параметров:

if ( is_page() ) {
	echo 'вы находитесь на странице WordPress';
}

Указываем в параметрах ID страницы:

if ( is_page( 5 ) ) {
	echo 'вы находитесь на странице, ID которой равен 5';
}

Указываем в параметрах заголовок страницы. В этом случае регистр будет иметь значение:

if ( is_page( 'Кодекс WordPress' ) ) {
	echo 'вы просматриваете страницу, заголовок которой Кодекс WordPress';
}

Теперь с использованием массива:

if ( is_page( array( 5, 'Кодекс WordPress', 'jquery', 54 ) ) ) {
	echo 'вы просматриваете страницу Кодекс WordPress, либо страницу с ID=5 или 54 или ярлык которой jquery';
}

Передача пустых значений

Если вы случайно передали пустую переменную в параметрах функции, то она будет выполняться как is_page() без параметров, то есть возвращать true на всех «постоянных страницах».

Это значит, что все следующие записи равносильны:

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

Использование внутри цикла

Запрещено. Да, то есть этот условный тег работать внутри цикла не будет. При этом можно:

  • использовать перед циклом,
  • использовать после цикла, но только после функции wp_reset_query();

Срабатывание тега на главной страница

is_page() способен возвращать true и на главной странице сайта, но только в том случае, если в настройках в отображении на главной выбрана статическая страница, то есть:

отображение статической страницы на главной

Все параметры функции в этом случае будут работать как и обычно.

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

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Миша: Добрый день! В принципе вам только немного нужно доработать код из этого поста - категории уже есть, цена - это и так...

  • eveniy: Добрый день Михаил, подскажите на примере как добавить свои произвольные поля в в вашу форму фильтрации: Я так понимаю...

  • Миша: Отлично! )

  • Дмитрий: сам разобрался: в настройках кастомного типа записи недавно оптимизировал настройки и переоптимизировал: в аргументе 'ta...

  • Дмитрий: У меня по какой-то причине пропало отображение (как в колонке меню слева, так и метабокс в записях ) раздела рубрик для...