wppaste
WordPress

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:

  1. 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.

  2. 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

Show all 18

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.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 7.1.0 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.