Функция 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. Она проверяет файлы в дочерней и родительской темах, упрощая работу с темами и обеспечивая гибкость при создании кастомных шаблонов для различных запросов.