钩子文档

{$type}_template_hierarchy

💡 云策文档标注

概述

该文档介绍了 {$type}_template_hierarchy 过滤器,用于在检索模板时修改搜索的文件名列表。它允许开发者自定义模板加载的优先级顺序,确保最后一个元素作为后备模板。

关键要点

  • 过滤器名称中的 $type 是动态部分,对应模板文件名(去除扩展名和非字母数字分隔符)。
  • 参数 $templates 是一个字符串数组,按优先级降序排列模板候选文件。
  • 可能的钩子名称包括 404_template_hierarchy、archive_template_hierarchy 等,覆盖多种查询类型。
  • 此过滤器在 get_query_template() 函数中使用,用于检索模板路径。
  • 自 WordPress 4.7.0 版本引入。

📄 原文内容

Filters the list of template filenames that are searched for when retrieving a template to use.

Description

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

Parameters

$templatesstring[]
A list of template candidates, in descending order of priority.

Source

$templates = apply_filters( "{$type}_template_hierarchy", $templates );

Changelog

Version Description
4.7.0 Introduced.