get_query_template

函式
get_query_template ( $type, $templates = array() )
引數
  • (string) $type Filename without extension.
    Required:
  • (string[]) $templates An optional list of template candidates.
    Required:
    Default: array()
返回值
  • (string) Full path to template file.
定義位置
相關方法
get_category_templateget_author_templateget_search_templateget_page_templateget_date_template
引入
1.5.0
棄用
-

get_query_template函式是一個WordPress函式,用於檢索用於特定查詢的模板檔案的路徑: 這個函式把模板型別作為一個引數,並返回模板檔案的路徑。

檢索模板的路徑。

用於快速檢索一個模板的路徑,不包括副檔名。如果檔案存在,它也會檢查父主題,並使用 locate_template() locate_template()的使用。允許在不使用其他get_*_template()函式的情況下進行更通用的模板定位。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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.
*/
return apply_filters( "{$type}_template", $template, $type, $templates );
}
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. */ return apply_filters( "{$type}_template", $template, $type, $templates ); }
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.
	 */
	return apply_filters( "{$type}_template", $template, $type, $templates );
}

常見問題

FAQs
檢視更多 >