Функция is_page_template()
в WordPress используется для проверки, использует ли текущая страница определённый шаблон страницы. Это полезно для настройки поведения темы или плагина в зависимости от используемого шаблона страницы.
is_page_template( $template = '' )
- $template (необязательный): Путь к файлу шаблона относительно корня вашей темы. Если параметр не указан, функция проверяет, используется ли какой-либо шаблон.
Функция возвращает true
, если текущая страница использует указанный шаблон, и false
в противном случае.
Примеры использования
Проверка на конкретный шаблон страницы
Этот пример показывает, как использовать is_page_template()
для проверки, использует ли текущая страница шаблон template-about.php
.
if ( is_page_template( 'template-about.php' ) ) {
// Код для страницы с шаблоном 'template-about.php'
echo 'Эта страница использует шаблон "template-about.php"';
}
Проверка на несколько шаблонов страниц
Вы также можете проверить несколько шаблонов, используя логические операторы.
if ( is_page_template( 'template-about.php' ) || is_page_template( 'template-contact.php' ) ) {
// Код для страниц с шаблонами 'template-about.php' или 'template-contact.php'
echo 'Эта страница использует шаблон "template-about.php" или "template-contact.php"';
}
Пример использования на главной странице
Как вы, возможно, знаете, главная страница сайта может создаваться с использованием следующих файлов темы:
front-page.php
home.php
index.php
page.php
- Пользовательские шаблоны страниц, которые можно задать в настройках.
Предположим, нам нужно вывести рекламный блок на сайте только в том случае, если главная страница создается через файл index.php
. Код будет следующим:
if ( is_page_template( 'index.php' ) ) {
echo '<div class="adds"></div>';
}
Использование по отношению к циклу
Как и большинство других условных тегов, is_page_template()
не будет правильно работать внутри цикла. Поэтому:
- Используйте тег перед началом цикла.
- По завершении цикла используйте
wp_reset_query()
чтобы условные тэги не конфликтовали
if ( is_page_template( 'template-about.php' ) ) {
echo 'Эта страница использует шаблон "template-about.php"';
}
if ( have_posts() ) {
while ( have_posts() ) {
the_post();
// Ваш код внутри цикла
}
wp_reset_query();
}
Заключение
Функция is_page_template()
в WordPress — это мощный инструмент для проверки используемого шаблона страницы и настройки поведения вашего сайта в зависимости от этого. Она позволяет легко определить, какой шаблон используется на текущей странице, и применять различные условные действия, такие как изменение стилей, содержимого или функционала.