提问请到论坛发帖,WordPress啦!主站上不再回复与文章内容无关的问题。
模板层级简介WordPress的模板文件像一个机器上的各个零部件,这些零部件共同合作,为WordPress网站生成各种类型的页面。有些模板(例如页眉模板文件和页脚模板文件)会在所有网页上出现,而其它模板只出现在特定条件下。 本文主要内容本文目的在于寻找下面这个问题的答案:
本文目标读者自WordPress 1.5版引入主题功能后,模板的配置也越来越灵活。为了能够更好地开发WordPress的主题,我们有必要了解WordPress在显示网站不同页面时如何调用模板文件。如果需要定制已有的WordPress主题,本文也可以告诉你哪些主题模板文件需要修改。
模板文件层级基本理论WordPress用查询字符串——网站上每个链接中所包含的信息——来决定显示页面时应使用的模板。 首先WordPress会将每个查询字符串与查询类型相匹配——例如,判断访问者所请求的页面类型(搜索页面,类别页面,主页等)。 然后按照WordPress模板层级规定的顺序以及主题中的模板文件是否可用选择模板并生成页面内容。 WordPress在当前主题文件中查找特定名称的模板文件,然后在相应查询区域下方列出的模板文件中选择首个匹配的模板文件。 除了最基本的index.php模板文件外,主题开发人员可以决定他们是否需要执行某个特定模板文件。如果WordPress不能找到与当前名称相匹配的模板文件,会自动跳转到模板层级的下一个文件名称进行查找。如果WordPress查找不到任何匹配模板文件,系统默认使用index.php文件(主题的主页模板文件)代替。 示例假设某博客地址是http://example.com/wp/,并且有个访问者点击了网站上的一个类别页面,页面地址为http://example.com/wp/category/your-cat/,此时WordPress的任务是在当前主题文件中查找与类别ID相匹配的模板文件。如果类别ID为4,WordPress会查找名称为category-4.php的模板文件。如果该文件丢失,WordPress继续查找通用类别模板文件category.php。如果category.php文件也不存在,WordPress会查找通用存档模板archive.php。如果archive.php文件仍然不存在,WordPress会用主题的主模板文件index.php来代替所查找的文件。 如果访问者点击的是网站主页 http://example.com/wp/,WordPress首先判断网站是否存在静态首页,如果存在WordPress会根据页面模板层级加载静态首页;如果不存在静态首页,WordPress会查找home.php模板文件并用该文件生成用户所请求页面。若home.php文件丢失,WordPress会在当前主题文件中查找index.php文件并用该文件生成用户请求页面。 图示WordPress根据模板层级调用各种模板文件以生成网站的不同页面。
模板调用顺序WordPress为不同查询类型调用模板文件,顺序如下: 查询主页时 1. home.php 2. index.php 查询某篇日志时 1. single.php 2. index.php 查询页面时 WordPress页面: 1. pagetemplate.php——pagetemplate.php是页面模板分配给页面的模板文件 2. page.php 3. index.php 查询类别时 类别模板: 1. category-id.php——例如,若类别ID为6,WordPress查找category-6.php文件 2. category.php 3. archive.php 4. index.php 查询标签时 标签模板: 1. tag-slug.php——例如,若标签的别名为sometag,WordPress会查找tag-sometag.php文件 2. tag.php 3. archive.php 4. index.php 查询作者时 作者模板: 1. author.php 2. archive.php 3. index.php 查询日期时 存档(日期)模板 1. date.php 2. archive.php 3. index.php 查询搜索结果时 创建搜索页面: 1. search.php 2. index.php 404页面未找到 生成404错误页面: 1. 404.php 2. index.php 查询附件时 附件模板: 1. image.php, video.php, audio.php, application.php以及其它MIME类型的第一部分 2. attachment.php 3. single.php 4. index.php 修改记录
|
|||


