wordpress模板文件加载顺序层次结构分析

更新时间:2022-06-22 17:24:31 来源:青锋建站 作者:青锋建站
  我们在对wordpress主题进行二次开发时,模板设计或修改是必不少的工作,而wordpress系统文档、页面、分类相应的模板加载是有一定的顺序和优先级的。如果不了解这个顺序优先及的话,可能自己修改的模板并没有展示出来。以下是青锋建站给大家分享的wordpress模板文件加载顺序与层次结构、优先级分析。
wordpress模板加载顺序层次结构

1、wordpress模板加载原理

  WordPress 使用查询字符串来决定应该使用哪个模板来显示页面。WordPress 向下搜索模板层次结构,直到找到匹配的模板文件。要确定要使用的模板文件,将每个查询字符串与查询类型匹配,来确定用户请求的是哪种类型的页面(例如,搜索页面,类别页面等);
  A、按模板层次结构确定使用哪个模板文件来显示这个页面。
  B、在当前主题的目录中查找具有特定名称的模板文件,并使用层次结构指定的第一个匹配模板文件 。
  C、除了基本 index.php模板文件外,我们可以自定义使用其他模板文件来显示页面。
  D、如果 WordPress 找不到名称匹配的具体模板文件,它将跳转到层次结构中的下一个文件。如果 WordPress还是找不到任何匹配的模板文件,最终将使用index.php 模板来显示页面。

2、模板加载顺序举例说明

  举个例子,用户在青锋建站的网站上打开了分类目录存档页面:http://www.sjzphp.com/wangzhanjianshe/beijing/,WordPress 会在当前主题的目录中查找与该类别的 ID 匹配的模板文件,以生成正确的页面。
  在当前主题的目录中查找与分类 slug 匹配的模板文件。如果分类 slug 是“beijing”,则 WordPress 会找名为的模板文件 category-beijing.php。
  如果 category-beijing.php不存在,并且分类的 ID 为 8,则WordPress 将查找名为的模板文件 category-8.php 。
  如果 category-8.php不存在,WordPress 将寻找通用分类模板文件, category.php。
  如果 category.php不存在,WordPress 将寻找通用存档模板  archive.php。
  如果 archive.php仍然还缺少,WordPress 将会使用主题 index.php 模板。

3、wordpress模板层次结构

A-主页显示
  默认情况下,WordPress 会在我们的网站首页显示网站的最新文章,这个页面称为文章索引。除此之外,选择一个静态页面作为网站首页。模板文件 home.php 用于显示文章索引,无论我们选择最新文章还是静态页面作为我们的首页。如果 home.php 不存在,WordPress 将使用 index.php。
  如果 front-page.php存在,它将覆盖 home.php模板。
B-首页显示
  front-page.php 模板文件是 WordPress 优先查找的首页模板文件,。该模板优先于 home.php模板。如果该front-page.php文件不存在,WordPress 将使用 home.php或 page.php文件,具体取决于设置→阅读中的设置。如果这两个文件都不存在,最终使用 index.php文件。
  home.php– 如果 WordPress 找不到 front-page.php,并且在 首页显示 设置了“您的最新文章”,WordPress 将查找 home.php。此外,当在首页显示部分设置文章页面时,WordPress 将查找此文件。 
  page.php– 在首页显示部分设置“ 首页 ”时 。
  index.php– 首页显示 设置为“ 你最新的文章 ”,但 home.php不存在,或者设置了首页,但 page.php不存在时,使用此模板文件。
C-单文章页面
单文章模板用来显示某一篇文章。
  single-{post-type}-{slug}.php– (从 4.4 开始)首先,WordPress 会查找特定文章的模板。例如,如果 文章类型 是 product,并且文章别名是dmc-12,WordPress 会寻找 single-product-dmc-12.php。
single-{post-type}.php– 如果文章类型是 product,WordPress会寻找 single-product.php。
single.php– 然后 WordPress 回退到 single.php。
singular.php– 然后又回退到 singular.php。
index.php– 最后,WordPress 将回退到 index.php。
D-单页
  用于呈现静态页面的模板文件( 页面文章类型)。 页面在 WordPress 中是一个特殊的文章类型,使用以下路径来查找模板文件:
自定义模板文件– 在 WordPress 后台选择的 页面模板 。见 get_page_templates()
page-{slug}.php– 如果页面 slug 是 recent-news,WordPress 将使用 page-recent-news.php。
page-{id}.php– 如果页面 ID 为 6,WordPress 将使用 page-6.php。
page.php
singular.php
index.php
E-分类目录
WordPress 使用以下层次结构来渲染分类目录页面。
category-{slug}.php– 如果分类目录的别名是 news,WordPress 将查找 category-news.php。
category-{id}.php– 如果类别的 ID 是 8,WordPress 将查找 category-8.php 。
category.php
archive.php
index.php
F-标签
  要显示标签存档页面,WordPress 使用以下路径:
tag-{slug}.php– 如果标签的 slug 是 sometag,WordPress 将查找 tag-sometag.php。
tag-{id}.php– 如果标签的ID是 6,WordPress将查找 tag-6.php。
tag.php
archive.php
index.php
G-自定义分类
WordPress 查找自定义分类法模板文件路径的方法稍微不同:
taxonomy-{taxonomy}-{term}.php – 如果分类法是 sometax,而分类法项目是 someterm,则 WordPress 会查找 taxonomy-sometax-someterm.php.在文章格式的情况下 ,分类法是 ‘post_format’,分类法项目是 ‘post-format- {format}。即 taxonomy-post_format-post-format-link.php 链接格式。
taxonomy-{taxonomy}.php – 如果分类法是 sometax ,WordPress查找 taxonomy-sometax.php 。
taxonomy.php
archive.php
index.php
J-搜索结果
搜索结果遵循与其他模板类型相同的模式:
search.php
index.php
K-404页面
同样,按以下顺序调用 404 模板文件:
404.php
index.php
L-附件
呈现附件页面(attachment文章类型)使用以下路径:
{MIME-type}.php -可以是任何 MIME类型(例如: image.php , video.php , pdf.php )。对于 text/plain ,使用以下路径(按顺序):
text-plain.php
plain.php
text.php
attachment.php
single-attachment-{slug}.php – 例如,如果附件的 slug是 holiday ,WordPress 会查找 single-attachment-holiday.php 。
single-attachment.php
single.php
singular.php
index.php
  以上就是青锋建站给大家分享的wordpress模板文件加载顺序与层次结构、优先级分析。青锋建站承接网站建设服务,包括织梦建站,phpcms建站,wordpress建站,CMS系统开发,SEO网站优化,网络营销推广,企业邮箱,400电话。

转载请注明来源网址:青锋建站-http://www.sjzphp.com/cmsxitong/wordpressxt/mobanjiazai_1394.html

地方分站

电话 15632335515 | 邮箱 943703539@qq.com | QQ 943703539 | 微信 qingfengjianzhan

Copyright © 2016-2026 青锋建站 版权所有