在WordPress系统中,模板的定义和加载顺序是非常重要的概念。了解这些内容有助于开发者合理利用资源并提高工作效率。以下是关于WordPress模板层次和加载顺序的详细介绍。

一个最简单的WordPress主题只需要style.css和index.php文件即可。


万能的index.php

index.php可以是任何页面的模板,无论是首页、文章页、分类页还是搜索结果页面,它都能完美胜任。

当对应的模板不存在时,index.php将是WordPress最后的选择。

模板加载顺序

下面让我们来了解一下WordPress是如何加载模板的:

首页

  1. 首先检查是否有静态首页,如果有则通过front-page.php展示。
  2. 如果没有静态首页,则加载home.php。
  3. 如果无home.php,则加载index.php模板。

文章页

  1. 首先考虑single-{post_type}.php。
  2. 如果没有,则加载single.php。
  3. 如果连single.php也没有,则加载index.php。

页面

  1. 首先考虑自定义模板。
  2. 如果没有,则查找page-{slug}.php。
  3. 如果没有,则查找page-{id}.php。
  4. 如果以上都不存在,则加载page.php。
  5. 如果连page.php也没有,则加载index.php。

function page_template_filter( $templates='') {
    $templates = locate_template("single.php", false);
    return $templates;
}
add_filter('page_template', 'page_template_filter');