wordpress开发(5) - 模板的层级关系

237 阅读1分钟

模板文件是模块化的可重用的,用来生成网站内容的文件。其中一些文件比如header.php, footer.php适用于所有页面,大部分是在特定条件下才使用到这些文件。下面我们来讨论模板的层级关系。

概述

wordpress是通过模板的层级关系来找到相应的文件来生成页面。

  1. 首先确定是哪种页面,是search page(搜索页面)还是category page(分类页面)
  2. 通过模板层级关系确定相应的模板文件
  3. 在本主题目录下查找特定文件名的文件,并使用第一个找到的文件
  4. 如果没有匹配到,wordpress就会根据模板层级关系选择下一个
  5. 如果一个文件也没找到,最终wordpress会使用index.php
  6. 如果使用子主题,子主题中的文件会覆盖父主题中相同的文件,但如果子主题中不存在,那就还是会使用父主题中的文件

Screenshot-2019-01-23-00.20.04.png

举例

如果你有个博客页面 http://example.com/blog/,一个用户点击一个链接,比如:http://example.com/blog/category/your-cat/, WordPress会在当前主题目录下查找匹配这个分类ID的模板页来生成页面. 具体过程如下:

  1. 如果这个分类是“unicorns,” WordPress就会找 category-unicorns.php这个模板文件;
  2. 如果 category-unicorns.php 不存在但是分类ID是4, 那WordPress就会找category-4.php这个文件;
  3. 如果category-4.php不存在, WordPress就接着找category.php文件;
  4. 如果category.php不存在, WordPress就会用 archive.php文件;
  5. 如果archive.php也不存在, WordPress最后就会用index.php文件。

大家具体可以对着图片详细看下。