get_query_template()
Получает путь до указанного файла шаблона. Указывается тип запроса: index, category, 404 и т.д.
Используется для быстрого получения пути файла шаблона, расширение файла при этом указывать не надо. При поиске файла учитывается дочерняя тема (см. locate_template()).
get_query_template() - это основа для функций типа get_*_template():
- get_index_template()
- get_404_template()
- get_archive_template()
- get_post_type_archive_template()
- get_author_template()
- get_category_template()
- get_tag_template()
- get_taxonomy_template()
- get_date_template()
- get_home_template()
- get_front_page_template()
- get_page_template()
- get_paged_template()
- get_search_template()
- get_single_template()
- get_singular_template()
- get_attachment_template()
- get_comments_popup_template()
Подробнее о том при каком запросе, какой файл может быть подключен читайте в отдельной статье: Иерархия файлов темы (шаблона)
Эта функция может пригодится при использовании 3 способа создания шаблона страницы.
Хуки из функции
Возвращает
Строку
. Серверный путь до файла шаблона. Если файл не удалось найти, то вернет пустую строку.
Использование
get_query_template( $type, $templates );
- $type(строка) (обязательный)
Название файла без расширения (.php).
Название может быть любым, но оно должно содержать только:
строчные буквы лат.алфавита
,цифры
и-
([^a-z0-9-]) - знак_
удаляется.Предустановленные типы файлов (смотрите иерархию файлов):
index
404
archive
( сюда входит post_type_archive )author
category
tag
taxonomy
date
home
embed
frontpage
( не front_page )page
paged
search
single
singular
attachment
- $templates(массив)
Необязательный список кандидатов на файл шаблона (указывается название файла с расширением).
Если указать этот параметр, то предыдущий параметр $type будет проигнорирован и он будет использоваться только в фильтре. А название файла будет подбираться на основе этого параметра, с помощью функции locate_template().
По умолчанию: array()
Примеры
#1 Подключим файл шаблона 404
if ( get_query_template( '404' ) ) include( get_query_template( '404' ) ); // тоже самое можно записать так: if ( get_404_template() ) include( get_404_template() );
#2 Что выводит функция
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
#3 Попробуем получить один из файлов шаблона
Указав второй параметр мы одновременно используем функцию locate_template() и указываем тип получаемого файла, к которому могут подключаться плагины через фильтр:
echo get_query_template( 'category', array('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 */
Список изменений
С версии 1.5.0 | Введена. |