WordPress主题开发之主题文件结构名称整理

如果我们有需要开发一款适合大众且符合官方要求的WordPress主题,我们肯定需要学习WP官方的文件结构,比如哪个文件需要命名什么,以及结构优先级。这里,简单做一个整理WordPress主题文件结构,适合有后面开发主题的时候用到。

1、模板文件

模板文件是 WordPress 定义好的一系列文件,无法对其重命名,不过可以直接使用这些名字来创建文件。具体的模板文件列表如下:


    index.php:主模板,这个模板必须提供。
    comments.php:评论模板。
    front-page.php:首页模板,当切换为静态首页时,可以选择这个。
    home.php:主页模板,默认的首页。如果开启了静态首页,这个模板则用于展示最新的文字。
    single.php:单独页面模板,显示单独的一篇文章时被调用。对于这个以及其他的请求模板,如果模板不存在会使用index.php。
    single-{post-type}.php:自定义单独页面模板。例如,single-books.php 展示自定义文章类型为 books的文章. 如果文章类型未被设置则使用index.php。
    page.php:页面模板,独立页面调用。
    category.php:分类模板。分类页面调用。
    tag.php:标签模板,标签页面调用。
    taxonomy.php:术语模板,请求自定义分类法的术语时使用。
    author.php:作者模板,作者页面调用。
    date.php:日期/时间模板,按时间查询时使用的模板。
    archive.php:存档模板,查询分类,作者或日期时使用的模板。需要注意的是,该模板将会分别被category.php、author.php、date.php所覆盖(如果存在的话)。
    search.php:搜索结果模板,显示搜索结果时使用的模板。
    attachment.php:附件模板,查看单个附件时使用的模板。
    image.php:图片附件模板,当在 WordPress 中查看单个图片时将调用此模板,如果不存在此模板,则调用 attachment.php 模板。
    404.php:404 错误页面模板,当 WordPress 无法查找到匹配查询的日志或页面时,使用 404.php 文件。
WordPress主题开发之主题文件结构名称整理

这张图说明了 WordPress 的模板加载顺序。使用这张图,来说明模板到底是按照怎样一个顺序加载的。这张图的查看的顺序是从左向右查看,举个例子,当我们需要查看一个目录的页面时,首先,这个页面是一个归档类型的页面(archive),然后继续向右查找,找到我们要看的目录归档(Category Archive);然后继续向右看,我们看到指向了category-$slug.php,这个文件是变量文件, WordPress 会根据我们目录的别名(slug),查询是否存在对应的文件,如果有这个文件,就进行渲染,不再输出。如果不存在,则继续向右查找;继续向右看到了 category-$id.php,当到了这一步后, WordPress 会根据目录的 ID 查询,是否存在对应的文件,如果存在则继续查找,如果不存在,则继续向右查找。继续向右,看到了淡蓝色的 category.php,如果这个文件存在,则进行渲染。如果不存在,则继续向右查找,查找到 archive.php,最后一直会查找到 index.php。

2、加载顺序

参考来自:https://www.easywpbook.com/theme/struct.html 文字版本的加载顺序。

上面的版本每次都要查询图片可能不是很方便,这里我总结了一份文字版本的加载顺序,读者可以根据这个加载顺序来制作模板。加载顺序从序号小的开始,如果查不到这个文件,则查询序号更大的文件是否存在。

主页

home.php
index.php

文章页面

single-$posttype.php
single.php
index.php

页面

自定义页面模板
page-$slug.php
page-$id.php
page.php
index.php

分类页面

category-$slug.php
category-$id.php
category.php
archive.php
index.php

标签页面

tag-$slug.php
tag-$Id.php
tag.php
archive.php
index.php

作者页面

author-$nickname.php
author-$Id.php
author.php
archive.php
index.php

日期页面

date.php
archive.php
index.php

搜索页面

search.php
index.php

404 页面

404.php
index.php

附件页面

$mimetype.php
attachment.php
single.php
index.php

3、自定义

我们还可以根据需要自定义模板。

<?php
/*
Template Name: 无侧边栏页面模板
*/

根据需要创建页面头部,然后在添加页面的时候可以引用这个自定义的模板。

投票 post
© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享