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.

WordPress 模版继承规则图形版

如果你一时理解不了上面文章介绍的模版规则,可以把下面的图片保存当桌面上,方便需要的时候查看,图片来自 WordPress 官方文档,准确性是没问题的。

掌握 WordPress 模版优先级是学习 WordPress 开发的第一步,也是最重要的一步,掌握了 WordPress 模版的使用方法后,我们可以进一步学习使用 WP_Query 来查询并输出文章 来创建自定义文章模块。

原创文章,作者:DavidWu,如若转载,请注明出处:https://www.davidwu.net/archives/89549

WordPress安全防护插件
服务项目 服务内容 收费标准(元)
开发定制 WordPress主题/插件开发定制 (以最终需求为准)
主题/插件汉化 汉化团队WordPress主题/插件,翻译率95% (以标的主题/插件的句子数量为准)
服务器环境配置 基于您现有服务器,搭建配置网站运行环境,结合我们多年来实战经验,可完美支持WordPress等PHP程序运行,并配置伪静态规则、优化目录权限等问题。服务器我们强烈推荐使用Linux系统。 100元/次
网站托管 若贵站目前尚无技术人员,无法完成服务器环境配置,可选择我们的网站托管服务,直接交付正常运行的WordPress站点,并且无需担心服务器的后续维护工作,一切都由我们来帮您完成。 标配套餐:1000元/年/站点 高配套餐:联系客服获取
网站加速优化 从服务器后端配置优化到WordPress数据库缓存、前端页面缓存、JS和CSS压缩合并,全方位优化网站加载速度,实现秒开。(此服务仅针对(云)服务器/VPS) 500元/次(仅站内优化200元/次)
主题配置 本站所有主题均支持,可快速实现,若有任何问题可以咨询客服解决,若您希望我们提供配置服务,可选购此服务。 英文主题安装 60元/次 汉化主题安装 30元/次
HTTPS配置 HTTPS已经不断普及,并且有着更高的安全性以及SEO上的优待。该服务收取的为服务费,SSL证书产生的费用请自行承担。 100元/次
网站搬家 迁移网站所有文件和数据库信息、网站相关配置的调整、以及迁移中的疑难问题故障排除。 标准收费:500元/次 若网站数据量大,需协商
网站运维 提供整站的运维服务,保证网站正常运行。包含:网站故障定位及排除、网站数据备份和恢复、网站攻击及木马等问题的处理等 标准收费:2000元/年 IP 5000以上需协商

发表评论

电子邮件地址不会被公开。 必填项已用*标注

51建站客服微信二维码
点击这里购买