get_query_template( string $type, string[] $templates = array() ): string
- Since
- 1.5.0
- Source
wp-includes/template.php:23
Retrieves path to a template.
Description
Used to quickly retrieve the path of a template without including the file extension. It will also check the parent theme, if the file exists, with the use of locate<em>template(). Allows for more generic template location without the use of the other get</em>*_template() functions.
Parameters
$typestring- Filename without extension.
$templatesstring[]optional- An optional list of template candidates.Default:
array()
Return
string- Full path to template file.
Hooks fired · 2
2 hooks fire while get_query_template() runs, in this order:
- apply_filters( {$type}_template_hierarchy )filterline 62 (+39 into the body)
Filters the list of template filenames that are searched for when retrieving a template to use.
- apply_filters( {$type}_template )filterline 103 (+80 into the body)
Filters the path of the queried template by type.
Uses · 3
- apply_filters()Calls the callback functions that have been added to a filter hook.
- locate_template()Retrieves the name of the highest priority template file that exists.
- locate_block_template()Finds a block template with equal or higher specificity than a given PHP template file.
Used by · 18
- get_404_template()Retrieves path of 404 template in current or parent template.
- get_archive_template()Retrieves path of archive template in current or parent template.
- get_attachment_template()Retrieves path of attachment template in current or parent template.
- get_author_template()Retrieves path of author template in current or parent template.
- get_category_template()Retrieves path of category template in current or parent template.
- get_date_template()Retrieves path of date template in current or parent template.
- get_embed_template()Retrieves an embed template path in the current or parent template.
- get_front_page_template()Retrieves path of front page template in current or parent template.
- get_home_template()Retrieves path of home template in current or parent template.
- get_index_template()Retrieves path of index template in current or parent template.
- get_page_template()Retrieves path of page template in current or parent template.
- get_paged_template()Retrieve path of paged template in current or parent template.
Show all 18
- get_privacy_policy_template()Retrieves path of Privacy Policy page template in current or parent template.
- get_search_template()Retrieves path of search template in current or parent template.
- get_single_template()Retrieves path of single template in current or parent template. Applies to single Posts, single Attachments, and single custom post types.
- get_singular_template()Retrieves the path of the singular template in current or parent template.
- get_tag_template()Retrieves path of tag template in current or parent template.
- get_taxonomy_template()Retrieves path of custom taxonomy term template in current or parent template.
Source
function get_query_template( $type, $templates = array() ) { $type = preg_replace( '|[^a-z0-9-]+|', '', $type ); if ( empty( $templates ) ) { $templates = array( "{$type}.php" ); } /** * Filters the list of template filenames that are searched for when retrieving a template to use. * * The dynamic portion of the hook name, `$type`, refers to the filename -- minus the file * extension and any non-alphanumeric characters delimiting words -- of the file to load. * The last element in the array should always be the fallback template for this query type. * * Possible hook names include: * * - `404_template_hierarchy` * - `archive_template_hierarchy` * - `attachment_template_hierarchy` * - `author_template_hierarchy` * - `category_template_hierarchy` * - `date_template_hierarchy` * - `embed_template_hierarchy` * - `frontpage_template_hierarchy` * - `home_template_hierarchy` * - `index_template_hierarchy` * - `page_template_hierarchy` * - `paged_template_hierarchy` * - `privacypolicy_template_hierarchy` * - `search_template_hierarchy` * - `single_template_hierarchy` * - `singular_template_hierarchy` * - `tag_template_hierarchy` * - `taxonomy_template_hierarchy` * * @since 4.7.0 * * @param string[] $templates A list of template candidates, in descending order of priority. */ $templates = apply_filters( "{$type}_template_hierarchy", $templates ); $template = locate_template( $templates ); $template = locate_block_template( $template, $type, $templates ); /** * Filters the path of the queried template by type. * * The dynamic portion of the hook name, `$type`, refers to the filename -- minus the file * extension and any non-alphanumeric characters delimiting words -- of the file to load. * This hook also applies to various types of files loaded as part of the Template Hierarchy. * * Possible hook names include: * * - `404_template` * - `archive_template` * - `attachment_template` * - `author_template` * - `category_template` * - `date_template` * - `embed_template` * - `frontpage_template` * - `home_template` * - `index_template` * - `page_template` * - `paged_template` * - `privacypolicy_template` * - `search_template` * - `single_template` * - `singular_template` * - `tag_template` * - `taxonomy_template` * * @since 1.5.0 * @since 4.8.0 The `$type` and `$templates` parameters were added. * * @param string $template Path to the template. See locate_template(). * @param string $type Sanitized filename without extension. * @param string[] $templates A list of template candidates, in descending order of priority. */History
Introduced in 1.5.0. Unchanged from 6.7.7 through 7.1.0.
Signature, return type and hooks compared across 5 parsed releases.
About this page
- Parsed data
- Generated from the wordpress-develop 6.9.7 tag, from
src/wp-includes/template.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it. - Corrections
- Something wrong on this page? Report it and it gets fixed in the next regeneration.