拆开一个真实主题:从文件名就能读出它的“页面地图”

作者: admin 分类: wordpress主题制作教程 发布时间: 2026-11-06 18:25

前面都是规则,这一篇看实物

前六篇讲的都是“规则”:模板层级怎么选、最小主题几个文件、零件怎么拼。这些规则落到一个真实主题上是什么样?这一篇就拿 caogenbj(本站正在用的主题)整个拆一遍。

拆主题的第一步,不是读代码,是看文件结构。因为文件名本身就是一张“页面地图”。

十一个文件,各管一摊

caogenbj 的目录里,PHP 文件有这些:

文件 对应的页面 怎么知道的
index.php 首页 + 所有兜底页面 模板层级的最后一级
single.php 文章页 single 线
page.php 独立页面 page 线
category.php 分类页 category 线
category-liupangketang.php “刘胖课堂”分类专用 category-{别名} 优先级更高
searchform.php 搜索输入框 注意不是搜索结果页
sidebar.php 侧栏 被 get_sidebar 引入
header.php 页头 被 get_header 引入
footer.php 页脚 被 get_footer 引入
functions.php 功能层 不是模板,不放页面内容
head-seo.php head 里的 SEO 标签 我后加的,被 header.php 引入

对着这张表,你就能回答“我要改 XX,改哪个文件”。比如:

  • 想改文章页的布局 → single.php;
  • 想改分类页的标题 → category.php;
  • 想改全站页头 → header.php;
  • 想加一个小功能(比如自动给外链加 nofollow)→ functions.php。

从文件结构能看出“设计意图”

为什么它单独做了一个 category-liupangketang.php?

因为“刘胖课堂”这个分类要特殊排版——打开看,它有轮播图、三栏导航,还有一堆外站视频链接。跟普通分类页完全不一样。所以作者给它做了个专用模板。

这就是“分类专用模板”的典型用法:大部分分类用 category.php,个别分类需要特殊排版,就给它单独做一个。

同理,如果你以后看到一个主题里有 page-about.php、single-video.php 这种文件,基本能猜到:这个站有“关于页”和“视频类型文章”需要特殊处理。

文件名就是设计意图的说明书。读主题先读文件名,比直接扎进代码快得多。

但它也缺了四个文件

前面第三篇提过:caogenbj 缺 tag.php、archive.php、search.php、404.php。

这不是“漏了”,是“当初没做”。模板层级会兜底,所以网站能跑,但兜底出来的效果不好:

  • 404 页显示成首页文章列表;
  • 搜索页的标题还是首页的标题;
  • 标签页、日期归档页也跟首页差不多。

这就引出一个判断主题“完整度”的方法——拿一张检查表,逐个对照:

页面类型 该有的文件 caogenbj
首页 index.php 或 home.php 有 index.php
文章页 single.php 有
独立页面 page.php 有
分类页 category.php 有
标签页 tag.php 或 archive.php 缺
搜索结果页 search.php 缺
404 页 404.php 缺
侧栏 sidebar.php 有
页头页脚 header.php / footer.php 有

这张表你可以直接拿去体检任何主题。缺的越多,说明这个主题越“将就”。

还有一个细节:文件之间的引用关系

光看文件名还不够,还要看“谁引用了谁”。caogenbj 的引用关系是这样的:

index.php
  ├─ get_header()  → header.php → include head-seo.php
  ├─ 主循环(文章列表)
  ├─ get_sidebar() → sidebar.php
  └─ get_footer()  → footer.php

single.php
  ├─ get_header()  → header.php
  ├─ 主循环(单篇)
  ├─ get_sidebar() → sidebar.php
  └─ 自己手写了一份 footer(问题!)

看到那个“自己手写了一份 footer”了吗?这就是第五篇讲的那个问题——single.php 没调 get_footer(),而是把 footer.php 的内容抄了一遍。page.php 也一样。

读主题的时候,把引用关系画出来,重复的地方一眼就能看见。重复 = 维护成本 = 设计没想清楚。

拆完的感受

caogenbj 是个很典型的“国产博客主题”:

  • 优点:结构清晰,该有的核心文件都有,用 Bootstrap 做样式,改起来门槛低;
  • 缺点:缺了几个兜底模板(404、搜索)、single/page 手写 footer 造成重复、head 部分自己手写(没有 wp_head,插件全失效——这是下一篇要讲的)。

它不是“坏主题”,它是“一个够用但没打磨过的主题”。而“没打磨过”这件事,恰好是最好的教材——因为你能看到“不规范的写法长什么样”,比看一个完美的主题学到的更多。

小结

一句话记住:读主题先读文件名,文件名就是页面地图;再画引用关系,重复的地方就是设计缺陷。

下一篇是卷一的复盘:把前七篇串成一张完整的图,用一个真实 URL 从头走到尾。

本系列导航

相关文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Powered by 草根站长笔记 © 2015-2026 草根站长笔记 Inc.版权所有,禁止转载