WordPress的模板层次

WordPress模板的定义十分不便,然而在定制模板之前,咱们有必要晓得WordPress的模板层次,理解WordPress是如何加载模板文件的,这将无利于开发模板时正当利用资源及进步工作效率。

**的index.php

经过“WordPress主题形成”这篇文章,咱们已晓得一个最简略的WordPress主题只要要 style.css 和 index.php 文件即可。这代表着 index.php 能够是任何一个页面的模板,无论是首页,还是文章页,或是分类页,再或许是搜寻后果页面,它都能完满胜任。

也就是说,当对应的模板不存在时, index.php 将是WordPress最初的底牌。

模板加载程序

上面让咱们来理解一下WordPress都是怎样加载模板的

首页

    首先WordPress会先反省能否有动态首页,假如有动态首页,就会加载这个页面内容并经过 front-page.php 模板文件展现,假如没有这个模板文件,就会经过页面模板展现假如没有动态首页,就会加载 home.php  **文章模板 假如没有 home.php 则加载 index.php模板

文章页

首先被思考的是 single-{post_type}.php 这样一个模板文件(如文章类型是 product 那么对应的文件名就是 single-product.php )假如找不到,那么就会加载 single.php 模板假如连 single.php 模板都没有则加载 index.php 模板。

页面

首先被思考的是自定义模板,也就是编辑页面时所抉择的模板假如没有自定义模板,则查找 page-{slug}.php 别名模板(如页面别名是 about 对应的文件名就是 page-about.php )假如别名模板也没有就查找 page-{id}.php ID模板(如页面ID是 2 对应的文件名就是 page-2.php )假如ID模板也没有那就是 page.php 模板了假如连 page.php 模板都没有则加载 index.php 模板

分类页

首先被思考的是 category-{slug}.php 别名模板(如分类别名是 news 对应的文件名就是 category-news.php )假如没有别名模板则查找 category-{id}.php ID模板(如分类ID是 1 对应的文件名就是 category-1.php )假如ID模板也没有那就是 category.php 分类模板了假如 category.php 分类模板也没有则加载 archive.php 通用归档模板假如连 archive.php 通用归档模板都没有则加载 index.php 模板

标签页

标签页模板加载程序和分类页一样,只不过前缀不过 category 而是 tag (如 tag-{slug}.php)。

自定义分类法

有时分除了WordPress默许的分类目录和标签咱们还需求其余的分类办法,这时分咱们就会注册一个新的分类法,那么在此之前晓得分类法的模板加载程序也是非常必要的。以下阐明假定自定义分类法是 people 这个名字:

分类法分类页首先被思考的是 taxonomy-{taxonomy}-{term}.php 别名模板(如分类别名 teacher 对应的文件名就是 taxonomy-people-teacher.php )假如没有别名模板,则加载该分类法归档页(如 taxonomy-people.php )假如分类法归档页模板也没有则加载 archive.php 通用归档模板假如连 archive.php 通用归档模板都没有则加载 index.php 模板

自定义文章类型

除了自定义分类法,有时分咱们也需求自定义文章类型

自定义文章类型归档页首先被思考的是 archive-{post_type}.php 别名模板(如文章类型是 product 那么对应的文件名就是 archive-product.php )假如没有别名模板则加载 archive.php 通用归档模板假如连 archive.php 通用归档模板都没有则加载 index.php 模板

作者归档页

首先被思考的是 author-{nicename}.php 别名模板(如作者用户名是 steven 那么对应的文件名就是 author-steven.php )假如没有别名模板则加载 author-{id}.php ID模板(如作者ID是 1 对应的文件名就是 author-1.php )假如ID模板没有则加载 author.php 通用作者模板假如通用作者模板也没有则加载 archive.php 通用归档模板假如连 archive.php 通用归档模板都没有则加载 index.php模板

日期归档页

首先被思考的是 date.php 日期归档模板假如日期归档模板没有则加载 archive.php 通用归档模板假如连 archive.php 通用归档模板都没有则加载 index.php 模板

搜寻后果页

    首先被思考的是 search.php 搜寻后果模板假如没有搜寻后果模板则加载 index.php模板

附件页

首先会按MIME类型加载模板(如 image.php, video.php, application.php,而 text/plain 类型则按程序尝试加载 text.php, plain.php, text_plain.php 这三个文件。假如没有对应的MIME类型模板则 attachment.php 附件模板(如没有 attachment.php 则加载 single-attachment.php )假如没有附件模板则加载 single.php 文章页模板假如连 single.php 文章页模板都没有则加载 index.php 模板

模板层次图

下面用文字具体讲述了WordPress模板的加载程序,虽然具体,但还不如一张信息图更为直观,以下就是WordPress的模板层次(2)构造图。

应用钩子修正模板

在某些应用场景(如插件),咱们并不能间接修正模板文件,这时分咱们能够应用钩子来完成修正模板文件,钩子称号是 {$type}_template 这样的格局,以下是对应的完好的钩子称号列表:

index_template

404_template

archive_template

author_template

category_template

tag_template

taxonomy_template

date_template

home_template

front_page_template

page_template

paged_template

search_template

single_template

text_template, plain_template, text_plain_template (all mime types)

attachment_template

comments_popup

以下是一个应用例子(让页面加载 single.php 文章页的模板):

function page_template_filter( $templates=''){

$templates=locate_template("single.php",false);

return $templates;

}

add_filter('page_template','page_template_filter');

模板页面判别

普通状况下,在一个特定的模板中咱们能分明晓得应该怎样输入特定的款式和内容,但在一些通用模板中(如 header.php )咱们想要晓得用户以后拜访的是哪个页面模板就需求借助WordPress内置的条件判别函数了,这些函数能够协助咱们判别以后是什么页面以不便加载不同的模板内容,如 is_home() 则是判别首页的条件标签,is_single() 则是判别文章页的条件标签,等等。

以上就是安达网络工作室关于《WordPress的模板层次》的一些看法。更多内容请查看本栏目更多内容!

本文相关话题: WordPress 模板层次
版权声明:本文为 安达网络工作室 转载文章,如有侵权请联系我们及时删除。
相关文章
WordPress主题不显示中文题目的处理办法

这个烦恼的成绩是有处理计划的,并且十分简略。 1、找到主标题录下的Header.php文件 2、应用FTP或Dreamweav...

制止wordpress主动将半角转换为全角 制止全角和半角的转换

找到wp-includes/formatting.php文件中复制代码代码如下:// This is not a tag, nor is the texturization ...

WordPress装置图解教程

1 下载并解紧缩“WordPress”,英文版能够到WordPress民间网站下载,中文版能够到WordPress中文论...

把WordPress文章版权同时在注释下方和Feed中输入完成办法

此前,咱们只晓得给WordPress文章增加版权申明,文章标签、相干日志,但很少思考到把这些信息输入到Feed中。...

wp-Syntax wordpress高亮插件应用办法

首先简略理解下 wp-Syntax 插件,wp-Syntax 是一个针对wordpress的代码高亮插件,最大的优点是简略易用,兼...

简略理解将WordPress中的工具栏移到底部的小技巧

从 WordPress 3.1 开端引入了工具栏的概念,当用户登录后在前台和后盾的页面顶部会显示一个黑色的工具栏,经...

需求提交

客服服务