WordPress主题分类、文章、页面、文章类型等模版继承规则和模版调用优先级规则
在WordPress建站中,我们使用主题来控制 WordPress 站点的外观,而WordPress主题又由若干个模版组成。当我们访问一个页面时,WordPress 帮我们从数据库中获取对应模板内容,然后按照一定的优先级规则把这些模板内容展示到对应的模版中,这样就形成了各式各样的 WordPress 页面。
想要学习WordPress开发,或者只是对WordPress主题进行一些简单的修改,了解WordPress模版的优先级和调用规则是必不可少的一步。
首页内容模版
WordPress的首页显示方式在后台「设置->阅读」页面又一个设置,可以让我们选择在首页显示最新文章或静态页面,如下所示。
front-page.php – 不管选择显示最新文章还是静态页面,都优先查找这个模版。
home.php – 如果主页显示选择了「最新文章」,并且没有上面的模版,会查找使用这个模版
page.php – 如果主页显示选择了「静态页面」,并且没有 front-page.php 模版,则会查找使用这个模版
index.php – 如果上面的模版都没找到,则会使用这个模版
文章、页面、自定义文章类型内容页模版
文章、页面、文章类型内容页,本质上都是文章页面,按文章页面的调用规则类似,都遵循从具体到通用的规则。下面列表中是文章页面的调用规则,优先级从上到下递减。
模版名称中 {} 包含的部分是对应的文章数据:
{post-type} 是文章类型名,如:single-product.php
{slug} 是文章别名,如:single-hello.php
{id} 是文章 ID,如 single-1.php
文章模版、自定义文章类型内容页模版调用优先级规则
single-{post-type}-{slug}.php.php
single-{post-type}.php
single-{slug}.php
single.php
singular.php
页面模版优先级规则
page–{slug}.php
page-{id}.php
page.php
single.php
singular.php
index.php
分类法存档模版
存档页,也叫列表页,是一系列文章内容的列表,和内容页模版一样,存档页模版的调用规则也是从具体到通用。
模版名称中的 {} 包含的部分是存档页对应的数据:
{taxonomy} 是自定义文章类型名称,如 taxonomy-product_cat.php 中的 product_cat 对应的就是模版名称中的 {taxonomy}
{term} 是自定义文章类型项目的别名,如 taxonomy-product_cat-cat1.php 中的 cat1 对应的就是模版名称中的 {term}
自定义分类法存档模版优先级
taxonomy-{taxonomy}-{term}.php
taxonomy-{taxonomy}.php
taxonomy.php
archive.php
index.php
分类目录存档模版
分类目录是 WordPress 内置的分类方法,其模版优先级和自定义分类法模版的优先级类型,只不过少了前面的 taoxnomy。
category-{slug}.php
category-{id}.php
category.php
archive.php
index.php
标签存档模版
标签也是 WordPress 内置的分类方法,其模版优先级和自定义分类法模版的优先级类型,只不过少了前面的 taoxnomy。
tag-{slug}.php
tag-{id}.php
archive.php
index.php
文章类型存档模版
文章类型存档页显示属于该文章类型的所有文章,其规则相对前面几种,要简单得多,其中 {post_type} 是文章类型的名称,如 archive-product.php。
archive-{post_type}.php
archive.php
index.php
作者存档模版
作者存档页显示的是某作者发表的所有文章,其优先级规则也比较简单。其中 {nicename} 是用户数据表中的 user_nicename 字段,{id} 是作者的 ID,我们可以为某作者制作其专有的模版作为他的专栏页。
author-{nicename}.php
author-{id}.php
author.php
archive.php
index.php
日期存档页
日期存档页是某个时间段发表的文章的集合,优先级规则如下:
date.php
archive.php
index.php
搜索结果页面模版
搜索结果页面是某个关键词搜索结果的存档页,一般是 search.php,如果没有,则使用 index.php
search.php
index.php
404 页面模版
404 页面模版是页面找不到时使用的页面模版,我们可以使用 404.php 做一个个性化的 404 页面。
404.php
index.php
附件模版
附件本质上也是一个文章类型,不过因为其比较特殊,我们可以安装附件类型来为其指定模版,比如一个 mp4 视频页面,我们可以为其指定一个 mp4.php 来使用自定义播放器来播放视频。附件模版的优先级规则如下:
{MIME-type}.php
text-plain.php
plain.php
text.php
attachment.php
single-attachment-{slug}.php
single-attachment.php
single.php
singular.php
index.php
Embed 模版
Embed 是把文章嵌入到其他页面或其他网站时使用的模版页面,我们可以根据以下规则创建模版来自定义文章嵌入的外观。
embed-{post-type}-{post_format}.php
embed-{post-type}.php
embed.php
wp-includes/theme-compat/embed.php template.
本文链接:http://78moban.cn/post/14298.html
版权声明:站内所有文章皆来自网络转载,只供模板演示使用,并无任何其它意义!