Функция get_query_template() в WordPress
Функция get_query_template() используется для быстрого получения пути к шаблону в WordPress. Эта функция позволяет вам находить нужный файл шаблона без необходимости указывать его расширение. Она также проверяет наличие файла в родительской теме, если таковая существует.
Применение функции
Функция útil для получения пути к файлам шаблонов, не прибегая к другим функциям, таким как get_*_template().
Характеристики функции
- Скорость обработки:
- Один вызов — 0.000085 сек (очень быстро)
- 50,000 вызовов — 0.49 сек (по-прежнему быстро)
Хуки функции
Функция использует различные хуки (или фильтры), которые позволяют изменять поведение функции. Вот некоторые из них:
(type)_template_hierarchy404_template_hierarchyarchive_template_hierarchyattachment_template_hierarchyauthor_template_hierarchycategory_template_hierarchydate_template_hierarchyembed_template_hierarchyfrontpage_template_hierarchyhome_template_hierarchyindex_template_hierarchypage_template_hierarchypaged_template_hierarchyprivacypolicy_template_hierarchysearch_template_hierarchysingle_template_hierarchysingular_template_hierarchytag_template_hierarchytaxonomy_template_hierarchy
Возвращаемое значение
Функция возвращает строку, которая содержит полный путь к файлу шаблона.
Использование функции
Синтаксис
get_query_template( $type, $templates );
- $type (string) (обязательный): название файла без расширения.
- $templates (array) (необя��ательный): список кандидатов для шаблонов. По умолчанию:
array().
Примеры
- Получение шаблона категории
echo get_query_template( 'category' );
// Возвращает: /home/public_html/wp-content/themes/theme-name/category.php
- Указание нестандартного имени шаблона
echo get_query_template( 'foo' );
// Возвращает: /home/public_html/wp-content/themes/theme-name/foo.php
- Подключение файла шаблона 404
if ( get_query_template( '404' ) ) {
include( get_query_template( '404' ) );
}
// То же самое можно записать так:
if ( get_404_template() ) {
include( get_404_template() );
}
- Использование собственного списка шаблонов
echo get_query_template( 'category', [ 'mycat.php', 'mycat2.php' ] );
/* Возвращает:
/home/public_html/wp-content/themes/theme-name/mycat.php
Если такого файла нет, проверится 'mycat2.php':
/home/public_html/wp-content/themes/theme-name/mycat2.php
*/
Код функции
Вот как выглядит код функции get_query_template() в WordPress:
function get_query_template( $type, $templates = array() ) {
$type = preg_replace( '|[^a-z0-9-]+|', '', $type );
if ( empty( $templates ) ) {
$templates = array( "{$type}.php" );
}
$templates = apply_filters( "{$type}_template_hierarchy", $templates );
$template = locate_template( $templates );
$template = locate_block_template( $template, $type, $templates );
return apply_filters( "{$type}_template", $template, $type, $templates );
}
Заключение
Функция get_query_template() является мощным инструментом для разработчиков тем и плагинов в WordPress. Она помогает быстро находить и подключать нужные шаблоны, упрощая процесс разработки. Понимание работы этой функции поможет вам создавать более гибкие и настраиваемые темы.