Функция возвращает true
, если указанный в параметрах файл шаблона используется при генерации текущей (открытой в данный момент) страницы, во всех остальных случаях возвращает false
.
is_page_template( $template = '' ) |
$template
(строка) полное имя файла шаблона с расширением, например home.php
, при этом начиная с версии WordPress 3.4 можно также указать и папку, в которой находится файл относительно директории темы, например inc/wordpress.php
.
Пример использования
Как вы возможно знаете, генерировать главную страницу сайта может один следующих файлов темы:
-
front-page.php
, -
home.php
, -
index.php
, -
page.php
и ещё 2 файла, через которые можно вывести страницу, - бесконечное количество пользовательских шаблонов страниц, которые можно выставить в настройках на главную;
Более подробно о порядке использования файлов темы можно почитать вот здесь.
Предположим, нам нужно вывести рекламный баннер в шапке сайта только в том случае, если главная страница создается через файл index.php
, тогда код будет следующий:
if( is_page_template( 'index.php' ) ){ echo '<div id="banner"></div>'; } |
Пример из кодекса WordPress
Тут все довольно просто, вот мы создали какой-нибудь файл шаблона страницы, например wordpress.php
, и теперь нам нужно узнать, используется ли этот файл при создании каких-то определенных страниц или нет — в этом нам поможет следующий код:
if ( is_page_template('wordpress.php') ) { // в это место вставляем код, который будет выполняться если файл используется } else { // код, который будет выполняться если файл НЕ используется } |
Использование по отношению к циклу
Как и большинство других условных тегов, is_page_template()
не будет правильно работать внутри цикла, поэтому:
- используйте тег перед началом цикла,
- после цикла использовать тоже можно, но там обязательно должна быть задействована функция
wp_reset_query()
;
Источник: misha.blog