模板文件是模块化的可重用的,用来生成网站内容的文件。其中一些文件比如header.php, footer.php适用于所有页面,大部分是在特定条件下才使用到这些文件。下面我们来讨论模板的层级关系。
概述
wordpress是通过模板的层级关系来找到相应的文件来生成页面。
- 首先确定是哪种页面,是search page(搜索页面)还是category page(分类页面)
- 通过模板层级关系确定相应的模板文件
- 在本主题目录下查找特定文件名的文件,并使用第一个找到的文件
- 如果没有匹配到,wordpress就会根据模板层级关系选择下一个
- 如果一个文件也没找到,最终wordpress会使用index.php
- 如果使用子主题,子主题中的文件会覆盖父主题中相同的文件,但如果子主题中不存在,那就还是会使用父主题中的文件
举例
如果你有个博客页面 http://example.com/blog/,一个用户点击一个链接,比如:http://example.com/blog/category/your-cat/, WordPress会在当前主题目录下查找匹配这个分类ID的模板页来生成页面. 具体过程如下:
- 如果这个分类是“unicorns,” WordPress就会找
category-unicorns.php这个模板文件; - 如果
category-unicorns.php不存在但是分类ID是4, 那WordPress就会找category-4.php这个文件; - 如果
category-4.php不存在, WordPress就接着找category.php文件; - 如果
category.php不存在, WordPress就会用archive.php文件; - 如果
archive.php也不存在, WordPress最后就会用index.php文件。
大家具体可以对着图片详细看下。