Множественные is_page() в page.php

20 июн. 2017 г., 01:08:55
Просмотры: 22.1K
Голосов: 5

Я пытаюсь добавить несколько ID страниц в условный оператор if else. Вот мой код на данный момент:

if ( is_page(ID) || is_page(ID) ) { 
    get_header('header_alt'); 
} else { 
    get_header(); 
}

Я попробовал несколько других решений, найденных в Google, но они работают только на начальной странице после очистки кеша.

0
Все ответы на вопрос 2
0
11

Вы можете передать массив ID в is_page вместо использования нескольких вызовов is_page:

if( is_page( array( 11, 22, 33, 44 ) ) ) {
    // Ваш код
}

Кроме того, если вы используете эту функцию внутри цикла, учитывайте следующее замечание:

Из-за перезаписи некоторых глобальных переменных во время выполнения цикла (The Loop), функция is_page() не будет работать. Чтобы вызвать её после цикла, необходимо сначала вызвать wp_reset_query().

20 июн. 2017 г. 01:12:08
0

Дополняя ответ Джека Йоханссона, это также работает для ярлыков страниц.
Например:

if( is_page( array('новости', 'работа', 'о-нас', 'контакты' ) ) ) {
// Ваш код
}
29 нояб. 2019 г. 13:07:36