Функция get_query_template()
возвращает путь к файлу шаблона для определённого типа запроса (например, для 404 страницы, архива, категории и т.д.). Она позволяет быстро находить нужный шаблон, не указывая расширение файла, и автоматически проверяет наличие файлов как в дочерней, так и в родительской теме.
get_query_template( string $type, string[] $templates = array() ): string
Описание
get_query_template()
используется для получения полного пути к шаблону, который затем можно подключить через include()
или require()
. Эта функция служит основой для других функций WordPress, таких как get_404_template()
, get_category_template()
и т.д.
Параметры
$type
(string, обязательный) — Название файла без расширения, которое соответствует типу запроса, например,category
,404
,single
и т.д.$templates
(string[], необязательный) — Необязательный список файлов шаблонов-кандидатов. Если указано, то функция будет искать указанные файлы в родительской и дочерней темах. По умолчанию:array()
.
Возвращаемое значение
Возвращает полный путь к найденному файлу шаблона. Если файл не найден, возвращает пустую строку.
Пример 1: Подключение шаблона 404
Этот пример демонстрирует, как подключить файл шаблона для 404 страницы:
if ( '' !== get_query_template( '404' ) ) {
include( get_query_template( '404' ) );
}
Этот код аналогичен вызову через специальную функцию:
if ( '' !== get_404_template() ) {
include( get_404_template() );
}
Пример 2: Получение пути шаблона категории
Функция get_query_template()
возвращает полный путь к файлу шаблона для категорий:
echo get_query_template( 'category' );
/* Выведет что-то вроде:
/wp-content/themes/your-theme/category.php
*/
Пример 3: Использование произвольного имени шаблона
Вы можете указать произвольное имя файла, если такой шаблон существует в теме:
echo get_query_template( 'custom-template' );
/* Выведет путь к файлу, если в теме существует файл custom-template.php:
/wp-content/themes/your-theme/custom-template.php
*/
Пример 4: Указание списка шаблонов-кандидатов
Функция позволяет передавать массив возможных файлов шаблонов, что упрощает поиск нескольких вариантов:
$template = get_query_template( 'category', array( 'custom-cat.php', 'fallback-cat.php' ) );
if ( $template ) {
echo "Шаблон найден по пути: " . $template;
} else {
echo "Шаблон не найден.";
}
/* Если custom-cat.php существует, функция вернёт его путь:
/wp-content/themes/your-theme/custom-cat.php
Если custom-cat.php не найден, будет возвращён fallback-cat.php.
*/
Пример 5: Использование в кастомных шаблонах
Функцию можно использовать для подключения кастомных шаблонов в зависимости от условий:
$template = get_query_template( 'custom-template' );
if ( $template ) {
include( $template );
}
Иерархия шаблонов в WordPress
Функция get_query_template()
является основой для всех других функций, которые получают шаблоны для разных типов запросов:
get_index_template()
get_404_template()
get_archive_template()
get_category_template()
get_tag_template()
get_taxonomy_template()
get_date_template()
get_author_template()
get_search_template()
get_single_template()
get_page_template()
get_attachment_template()
Заключение
Функция get_query_template()
— это универсальный инструмент для быстрого и эффективного получения шаблонов в WordPress. Она проверяет файлы в дочерней и родительской темах, упрощая работу с темами и обеспечивая гибкость при создании кастомных шаблонов для различных запросов.