Функция get_page_template()
возвращает полный путь к файлу шаблона страницы, который используется для отображения текущей страницы в теме WordPress. Эта функция может искать шаблон как в текущей теме, так и в родительской теме (если используется дочерняя тема).
Описание
get_page_template()
использует иерархию шаблонов WordPress, чтобы определить, какой файл используется для отображения страницы. Иерархия может включать файлы с именем шаблона страницы, имя страницы или ID страницы.
get_page_template(): string
Иерархия для поиска шаблона выглядит так:
{Page Template}.php
— шаблон страницы, указанный в настройках страницы.page-{page_name}.php
— шаблон для конкретной страницы, основанный на слаге (имени) страницы.page-{id}.php
— шаблон для страницы с конкретным ID.page.php
— стандартный шаблон страницы, если другие не найдены.
Пример иерархии:
page-templates/full-width.php
page-about.php
page-4.php
page.php
Использование фильтров
Шаблон и его иерархию можно изменить с помощью динамических фильтров: {$type}_template_hierarchy
и {$type}_template
, где $type
— это page
.
Примечание для блок-тем
Для блоковых тем вместо этой функции рекомендуется использовать locate_block_template()
.
Возвращаемое значение
Функция возвращает строку — полный путь к файлу шаблона. Если шаблон не найден, она возвращает путь к файлу page.php
.
Пример 1: Получение полного пути к файлу шаблона страницы
$page_template = get_page_template();
echo 'Шаблон страницы: ' . $page_template;
Этот код выведет полный путь к файлу шаблона, например:
Шаблон страницы: /home/public_html/wp-content/themes/theme-name/page-about.php
Пример 2: Вывод имени файла шаблона в HTML-комментарии
Если вы хотите узнать, какой файл шаблона используется для текущей страницы, и вывести его в HTML-комментарии, используйте следующий код:
echo '<!-- ' . basename( get_page_template() ) . ' -->';
Этот код выведет комментарий с именем файла, например:
<!-- page-about.php -->
Пример 3: Проверка шаблона страницы
Вы можете использовать эту функцию для условной логики. Например, если страница использует шаблон full-width.php
, можно изменить поведение на фронтенде:
if ( basename( get_page_template() ) === 'full-width.php' ) {
// Действия для страницы с полным экраном
echo 'Эта страница использует шаблон full-width.';
}
Заключение
Функция get_page_template()
удобна для разработчиков тем WordPress, поскольку она предоставляет простой способ определить иерархию и путь к шаблону страницы. Это помогает в создании условных шаблонов и кастомизации тем, а также упрощает отладку иерархии шаблонов.