WordPress 主题模板层级完全图解:从 index.php 到 singular.php 的页面加载优先级
模板层级是 WordPress 主题开发中最核心的概念之一。它决定了当用户访问某个页面时,WordPress 会使用哪个模板文件来渲染内容。掌握模板层级,你就能精确控制每一个页面的显示方式。
模板层级的基本规则
WordPress 在决定使用哪个模板文件时,会按照特定的优先级顺序查找。优先级最高的是最具体的模板文件,如果找不到就依次向上回退,直到找到 index.php 作为最后的保障。
对于首页,查找顺序是 front-page.php、home.php、index.php。front-page.php 的优先级最高,它控制的是在后台设置中指定的首页。如果设置了静态首页,front-page.php 会覆盖 home.php。
对于单篇文章,查找顺序是 single-{文章类型}.php、single.php、singular.php、index.php。例如,对于 product 类型的文章,会优先查找 single-product.php。
对于独立页面,查找顺序是 page-{别名}.php、page-{ID}.php、page.php、singular.php、index.php。你可以为特定页面创建独立的模板文件。
对于分类归档,查找顺序是 category-{分类别名}.php、category-{分类ID}.php、category.php、archive.php、index.php。这让不同分类可以有完全不同的展示风格。
对于标签归档,查找顺序是 tag-{标签别名}.php、tag.php、archive.php、index.php。
对于自定义分类法归档,查找顺序是 taxonomy-{分类法名称}-{术语别名}.php、taxonomy-{分类法名称}.php、archive.php、index.php。
对于作者归档,查找顺序是 author-{用户ID}.php、author.php、archive.php、index.php。
对于日期归档,查找顺序是 date.php、archive.php、index.php。
对于搜索结果,查找顺序是 search.php、index.php。
对于 404 错误,查找顺序是 404.php、index.php。
模板层级的设计思想
模板层级的核心思想是“从具体到通用”。这种设计让你可以精细控制每个页面的显示,同时不需要为每个页面都创建独立模板。大多数情况下,archive.php 和 single.php 就能覆盖绝大部分内容,只有在需要特殊定制时才创建更具体的模板。
在主题中善用模板层级
理解模板层级后,你可以在主题开发中做出更好的决策。对于普通博客,index.php、single.php、page.php 和 archive.php 就足够了。对于有多个内容类型的网站,利用 single-{文章类型}.php 和 archive-{文章类型}.php 分别控制不同内容的显示。对于有特殊需求的关键页面,使用 page-{别名}.php 创建独立模板。

