WordPress: Template Hierarchy:修订间差异
Seadragon530(讨论 | 贡献) 无编辑摘要 |
无编辑摘要 |
||
第1行: | 第1行: | ||
<div style="border: 1px solid #036; background:#eee; text-align:center; margin:5px; padding:10px">'''注意:''' 本文关于一个高级话题。参见[[WordPress:Stepping Into Templates|走进模板]]作为接触WordPress模板的介绍.</div> | <div style="border: 1px solid #036; background:#eee; text-align:center; margin:5px; padding:10px">'''注意:''' 本文关于一个高级话题。参见[[WordPress:Stepping Into Templates|走进模板]]作为接触WordPress模板的介绍.</div> | ||
== 介绍 == | == 介绍 == | ||
WordPress模板结合在一起,就象一个难题的各个部分一样,生成了你的WordPress站点上的网页。一些模板(例如页眉和页脚模板文件) | WordPress模板结合在一起,就象一个难题的各个部分一样,生成了你的WordPress站点上的网页。一些模板(例如页眉和页脚模板文件)可以用在所有的网页上,而另外一些只能在特殊情况下使用。 | ||
=== 本文是关于什么的 === | === 本文是关于什么的 === | ||
本文致力于寻找下面问题的答案: | 本文致力于寻找下面问题的答案: | ||
<blockquote> | <blockquote> | ||
''当WordPress显示特定的页面类型时,会使用哪种模板文件呢?'' | ''当WordPress显示特定的页面类型时,会使用哪种模板文件呢?'' | ||
</blockquote> | </blockquote> | ||
=== 本文适用对象 === | === 本文适用对象 === | ||
由于WordPress v1.5 中对[[WordPress:Using Themes|主题]]的介绍,[[WordPress:Templates|模板]]已经越来越可以自由配置使用了。为了[[WordPress:Theme_Development|开发]] WP主题,要正确的理解WordPress选择模板文件在blog上显示多种页面的方式。如果你想要自定义一个已存在的WordPress主题,本文将帮助你确定哪个模板文件需要编辑。 | 由于WordPress v1.5 中对[[WordPress:Using Themes|主题]]的介绍,[[WordPress:Templates|模板]]已经越来越可以自由配置使用了。为了[[WordPress:Theme_Development|开发]] WP主题,要正确的理解WordPress选择模板文件在blog上显示多种页面的方式。如果你想要自定义一个已存在的WordPress主题,本文将帮助你确定哪个模板文件需要编辑。 | ||
{| cellspacing="3" | {| cellspacing="3" | ||
第52行: | 第17行: | ||
=== 条件式标签和模板层次 === | === 条件式标签和模板层次 === | ||
WordPress提供了很多方法来配合模板查询类型。WordPress主题开发人员还使用:Theme_Development#Query-based_Templates|条件式标签]] | WordPress提供了很多方法来配合模板查询类型。WordPress主题开发人员还使用:Theme_Development#Query-based_Templates|条件式标签]]来控制生成一个特定的页面时使用哪个模板。一些WordPress主题可能不能贯彻所有这里说到的模板文件。一些主题使用条件式标签来载入其他的模板文件。参见[[WordPress:Theme Development#Query-based Templates|主题开发]]和[[WordPress:Conditional Tags|条件式标签]] | ||
|} | |} | ||
== 模板文件层次 == | == 模板文件层次 == | ||
第70行: | 第27行: | ||
WordPress使用[[WordPress:Glossary#Query_string|字符串查询]] —站点上每个连接包含的信息—来决定使用哪个模板或者模板组合来显示页面。 | WordPress使用[[WordPress:Glossary#Query_string|字符串查询]] —站点上每个连接包含的信息—来决定使用哪个模板或者模板组合来显示页面。 | ||
首先,WordPress把每个字符串查询与类型查询匹配— i.e.决定哪种类型的页面(搜索页面,分类页面,主页等等.)是所需要的。 | |||
然后选定模板—生成网页页面内容— 据在某个WordPress主题中哪些模板可用,按照WordPress模板层次的建议排序。 | 然后选定模板—生成网页页面内容— 据在某个WordPress主题中哪些模板可用,按照WordPress模板层次的建议排序。 | ||
WordPress在现用的主题目录中通过特定的名字寻找模板文件,使用下边列在合适的查询结果中的''第一匹配''的模板文件。 | WordPress在现用的主题目录中通过特定的名字寻找模板文件,使用下边列在合适的查询结果中的''第一匹配''的模板文件。 | ||
除了基本的<tt style="font-weight:bold; color:#036"><nowiki>index.php</nowiki></tt>模板文件以外,主题开发人员可以选择是否使用某个特定的模板文件。如果WordPress不能使用匹配名字找到相应的模板,它会跳到这个层次中的下一个文件名。如果WordPress不能找到所有的匹配模板文件,<tt style="font-weight:bold; color:#036">index.php</tt>(主题主页模板文件)将被使用。 | |||
除了基本的<tt style="font-weight:bold; color:#036"><nowiki>index.php</nowiki></tt>模板文件以外,主题开发人员可以选择是否使用某个特定的模板文件。如果WordPress不能使用匹配名字找到相应的模板,它会跳到这个层次中的下一个文件名。如果WordPress不能找到所有的匹配模板文件,<tt style="font-weight:bold; color:#036">index.php</tt>(主题主页模板文件) | |||
=== 示例 === | === 示例 === | ||
第96行: | 第39行: | ||
如果你的blog在<tt style="font-weight:bold; color:#036"><nowiki>http://domain.com/wp/</nowiki></tt>,并且访问者点击了一个分类页面连接如<tt style="font-weight:bold; color:#036; font-size: 0.8em"><nowiki>http://domain.com/wp/category/your-cat/</nowiki></tt>,WordPress会在现有的主题目录中寻找匹配的分类ID。如果这个分类ID是4,WordPress会去寻找一个名字为<tt style="font-weight:bold; color:#036"><nowiki>category-4.php</nowiki></tt>的模板文件。如果没有找到,WordPress就会去寻找普通分类模板文件,<tt style="font-weight:bold; color:#036"><nowiki>category.php</nowiki></tt>。如果这个文件也不存在,WordPress就会寻找普通文档模板,<tt style="font-weight:bold; color:#036"><nowiki>archive.php</nowiki></tt>。如果还是没有找到,WordPress就会返回到主页模板文件,<tt style="font-weight:bold; color:#036"><nowiki>index.php</nowiki></tt>. | 如果你的blog在<tt style="font-weight:bold; color:#036"><nowiki>http://domain.com/wp/</nowiki></tt>,并且访问者点击了一个分类页面连接如<tt style="font-weight:bold; color:#036; font-size: 0.8em"><nowiki>http://domain.com/wp/category/your-cat/</nowiki></tt>,WordPress会在现有的主题目录中寻找匹配的分类ID。如果这个分类ID是4,WordPress会去寻找一个名字为<tt style="font-weight:bold; color:#036"><nowiki>category-4.php</nowiki></tt>的模板文件。如果没有找到,WordPress就会去寻找普通分类模板文件,<tt style="font-weight:bold; color:#036"><nowiki>category.php</nowiki></tt>。如果这个文件也不存在,WordPress就会寻找普通文档模板,<tt style="font-weight:bold; color:#036"><nowiki>archive.php</nowiki></tt>。如果还是没有找到,WordPress就会返回到主页模板文件,<tt style="font-weight:bold; color:#036"><nowiki>index.php</nowiki></tt>. | ||
如果访问者到了你位于<tt style="font-weight:bold; color:#036"><nowiki>http://domain.com/wp/</nowiki></tt>的主页,WordPress就会寻找一个叫做<tt style="font-weight:bold; color:#036">home.php</tt>的模板文件,并且使用它生成请求的页面。如果没有找到<tt style="font-weight:bold; color:#036">home.php</tt>,WordPress就会在主题目录中寻找一个叫做<tt style="font-weight:bold; color:#036">index.php</tt>的文件,使用这个模板来生成页面。 | 如果访问者到了你位于<tt style="font-weight:bold; color:#036"><nowiki>http://domain.com/wp/</nowiki></tt>的主页,WordPress就会寻找一个叫做<tt style="font-weight:bold; color:#036">home.php</tt>的模板文件,并且使用它生成请求的页面。如果没有找到<tt style="font-weight:bold; color:#036">home.php</tt>,WordPress就会在主题目录中寻找一个叫做<tt style="font-weight:bold; color:#036">index.php</tt>的文件,使用这个模板来生成页面。 | ||
=== 视觉总览 === | === 视觉总览 === | ||
以下代码显示出哪个模板文件被用来生成一个基于WordPress模板层次的WordPress页面了。它还描述了[[WordPress:Glossary#Query_string|字符串查询]]和相应的[[WordPress:Conditional Tags|条件式标签]]的关系 | 以下代码显示出哪个模板文件被用来生成一个基于WordPress模板层次的WordPress页面了。它还描述了[[WordPress:Glossary#Query_string|字符串查询]]和相应的[[WordPress:Conditional Tags|条件式标签]]的关系 | ||
[[WordPress:Image:templatehierarchyexample.png|| WordPress模板层次结构图例]] | [[WordPress:Image:templatehierarchyexample.png|| WordPress模板层次结构图例]] | ||
第122行: | 第53行: | ||
<small>[http://www.scoutpress.de/download/wp_Template_Hierarchy.zargo Download ArgoUML-0.22-File (zargo)] (external link)</small> | <small>[http://www.scoutpress.de/download/wp_Template_Hierarchy.zargo Download ArgoUML-0.22-File (zargo)] (external link)</small> | ||
=== 模板层次详解 === | === 模板层次详解 === | ||
第132行: | 第59行: | ||
=== 主页 === | === 主页 === | ||
第169行: | 第78行: | ||
<div style="border: 1px solid #ffc9c9; padding: 1em; color: #000000; background-color: #fff3f3">'''注意:''' 这里指的是''WordPress 页面'', 不是blog中的一般文章或者网页。参见 [[WordPress:Pages|WordPress 页面]]. | <div style="border: 1px solid #ffc9c9; padding: 1em; color: #000000; background-color: #fff3f3">'''注意:''' 这里指的是''WordPress 页面'', 不是blog中的一般文章或者网页。参见 [[WordPress:Pages|WordPress 页面]]. | ||
</div> | </div> | ||
=== 分类页面 === | === 分类页面 === | ||
第189行: | 第86行: | ||
<div style="border: 1px solid #ffc9c9; padding: 1em; color: #000000; background-color: #fff3f3">'''Note:''' See [[WordPress:Category Templates]] for details.</div> | <div style="border: 1px solid #ffc9c9; padding: 1em; color: #000000; background-color: #fff3f3">'''Note:''' See [[WordPress:Category Templates]] for details.</div> | ||
=== 标签页面 === | === 标签页面 === | ||
第208行: | 第95行: | ||
<div style="border: 1px solid #ffc9c9; padding: 1em; color: #000000; background-color: #fff3f3">'''Note:''' See [[WordPress:Tag Templates]] for details.</div> | <div style="border: 1px solid #ffc9c9; padding: 1em; color: #000000; background-color: #fff3f3">'''Note:''' See [[WordPress:Tag Templates]] for details.</div> | ||
=== 作者页面 === | === 作者页面 === | ||
第225行: | 第103行: | ||
<div style="border: 1px solid #ffc9c9; padding: 1em; color: #000000; background-color: #fff3f3">'''注意:'''[[WordPress:Author Templates|作者模板]] 可以用来显示有关作者的信息.</div> | <div style="border: 1px solid #ffc9c9; padding: 1em; color: #000000; background-color: #fff3f3">'''注意:'''[[WordPress:Author Templates|作者模板]] 可以用来显示有关作者的信息.</div> | ||
=== 日期页面 === | === 日期页面 === | ||
第241行: | 第110行: | ||
:#date.php | :#date.php | ||
:#[[WordPress:Creating_an_Archive_Index|archive.php]] | :#[[WordPress:Creating_an_Archive_Index|archive.php]] | ||
:#index.php | :#index.php | ||
第253行: | 第116行: | ||
:#[[WordPress:Creating_a_Search_Page|search.php]] | :#[[WordPress:Creating_a_Search_Page|search.php]] | ||
:#index.php | :#index.php | ||
=== 404 (找不到) 页面 === | === 404 (找不到) 页面 === | ||
第268行: | 第123行: | ||
<div style="border: 1px solid #ffc9c9; padding: 1em; color: #000000; background-color: #fff3f3">'''注意:''' 参见[[WordPress:Creating an Error 404 Page|建立一个错误404页面]]以获得更多有关404页面的信息。</div> | <div style="border: 1px solid #ffc9c9; padding: 1em; color: #000000; background-color: #fff3f3">'''注意:''' 参见[[WordPress:Creating an Error 404 Page|建立一个错误404页面]]以获得更多有关404页面的信息。</div> | ||
=== 附件页面 === | === 附件页面 === | ||
第283行: | 第130行: | ||
<div style="border: 1px solid #ffc9c9; padding: 1em; color: #000000; background-color: #fff3f3">'''注意:''' 参见[[WordPress:Using Image and File Attachments#Inserting_Files|图片附件]]获得更多有关此模板的信息.</div> | <div style="border: 1px solid #ffc9c9; padding: 1em; color: #000000; background-color: #fff3f3">'''注意:''' 参见[[WordPress:Using Image and File Attachments#Inserting_Files|图片附件]]获得更多有关此模板的信息.</div> | ||
== 参见 == | == 参见 == |
2008年4月17日 (四) 16:42的版本
介绍
WordPress模板结合在一起,就象一个难题的各个部分一样,生成了你的WordPress站点上的网页。一些模板(例如页眉和页脚模板文件)可以用在所有的网页上,而另外一些只能在特殊情况下使用。
本文是关于什么的
本文致力于寻找下面问题的答案:
当WordPress显示特定的页面类型时,会使用哪种模板文件呢?
本文适用对象
由于WordPress v1.5 中对主题的介绍,模板已经越来越可以自由配置使用了。为了开发 WP主题,要正确的理解WordPress选择模板文件在blog上显示多种页面的方式。如果你想要自定义一个已存在的WordPress主题,本文将帮助你确定哪个模板文件需要编辑。
条件式标签和模板层次WordPress提供了很多方法来配合模板查询类型。WordPress主题开发人员还使用:Theme_Development#Query-based_Templates|条件式标签]]来控制生成一个特定的页面时使用哪个模板。一些WordPress主题可能不能贯彻所有这里说到的模板文件。一些主题使用条件式标签来载入其他的模板文件。参见主题开发和条件式标签 |
模板文件层次
概述
WordPress使用字符串查询 —站点上每个连接包含的信息—来决定使用哪个模板或者模板组合来显示页面。
首先,WordPress把每个字符串查询与类型查询匹配— i.e.决定哪种类型的页面(搜索页面,分类页面,主页等等.)是所需要的。
然后选定模板—生成网页页面内容— 据在某个WordPress主题中哪些模板可用,按照WordPress模板层次的建议排序。
WordPress在现用的主题目录中通过特定的名字寻找模板文件,使用下边列在合适的查询结果中的第一匹配的模板文件。
除了基本的index.php模板文件以外,主题开发人员可以选择是否使用某个特定的模板文件。如果WordPress不能使用匹配名字找到相应的模板,它会跳到这个层次中的下一个文件名。如果WordPress不能找到所有的匹配模板文件,index.php(主题主页模板文件)将被使用。
示例
如果你的blog在http://domain.com/wp/,并且访问者点击了一个分类页面连接如http://domain.com/wp/category/your-cat/,WordPress会在现有的主题目录中寻找匹配的分类ID。如果这个分类ID是4,WordPress会去寻找一个名字为category-4.php的模板文件。如果没有找到,WordPress就会去寻找普通分类模板文件,category.php。如果这个文件也不存在,WordPress就会寻找普通文档模板,archive.php。如果还是没有找到,WordPress就会返回到主页模板文件,index.php.
如果访问者到了你位于http://domain.com/wp/的主页,WordPress就会寻找一个叫做home.php的模板文件,并且使用它生成请求的页面。如果没有找到home.php,WordPress就会在主题目录中寻找一个叫做index.php的文件,使用这个模板来生成页面。
视觉总览
以下代码显示出哪个模板文件被用来生成一个基于WordPress模板层次的WordPress页面了。它还描述了字符串查询和相应的条件式标签的关系
Download ArgoUML-0.22-File (zargo) (external link)
模板层次详解
以下部分描述了在模板文件中WordPress调用的每个查询类型的顺序。
主页
- home.php
- index.php
单个文章页面
- single.php
- index.php
WordPress 页面
分类页面
- 分类模板有一个匹配ID. 如果分类的ID是6, WordPress 就会寻找category-6.php
- category.php
- archive.php
- index.php
标签页面
- 标签模板有一个匹配插槽.如果标签插槽是sometag, WordPress就会搜索 tag-sometag.php
- tag.php
- archive.php
- index.php
作者页面
- author.php
- archive.php
- index.php
日期页面
举个例子,一个按月的文档页面。
- date.php
- archive.php
- index.php
搜索结果页面
- search.php
- index.php
404 (找不到) 页面
- 404.php
- index.php
附件页面
- attachment.php
- index.php
参见
以下连接与文章话题直接相关.
主题开发 | 循环 | 条件式标签 | 模板标签 | 使用Permalinks