系列总结:一张图看懂 WordPress 主题

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

先把那张图画出来

这个系列第一篇我说过一句话:“你脑子里没有一张图,看再多模板标签也是散的。”

六卷写完,这张图该给你了。

你输入一个网址
     │
     ▼
① Nginx 收到请求 ──→ 不是文件,交给 index.php
     │
     ▼
② WordPress 启动 ──→ 读数据库,确定"这是哪个页面"
     │
     ▼
③ 模板层级 ────────→ 决定用哪个文件(single.php? category.php?)
     │
     ▼
④ 加载 functions.php → 注册钩子、菜单、侧栏、资源
     │
     ▼
⑤ 模板开始执行
     ├── get_header()  ──→ header.php ──→ wp_head()
     ├── 主循环        ──→ 一条条取文章
     ├── 各种零件      ──→ 标题/正文/分页/面包屑
     └── get_footer()  ──→ footer.php ──→ wp_footer()
     │
     ▼
⑥ PHP 输出 HTML ────→ 浏览器收到,渲染

六个步骤,对应六卷:

卷 在这张图的哪一段
一 · 骨架 ①②③:请求怎么进来,模板怎么被选中
二 · 循环 ⑤ 的核心:文章怎么一条条吐出来
三 · 零件 ⑤ 的各个部位:head、导航、侧栏、分页
四 · 功能 ④:functions.php 和钩子
五 · 实战 把 ①—⑤ 自己拼一遍
六 · 进阶 让这张图跑得更稳、更安全、更能维护

你现在应该能做到一件事:随便打开一个页面,说出它走的哪条路径、用了哪个文件、循环跑了几次。

能做到,这个系列就没白读。

三个最值得记住的点

六卷六十二篇,如果只能带走三句话,我要这三句。

第一句:wp_head() 不是一个函数,是一个出口

这是整套东西里最”不起眼但最要命”的一点。

wp_head() 看起来只是”输出一些 meta”,实际上它是所有插件往页面头部写东西的唯一通道。这条通道断了,插件全部静默失效——不报错、不提示,你在后台设置得再对,前端一行都不会出现。

我那个主题就漏了这一行,漏了不知道多久。表现是:装 SEO 插件没反应、站点验证过不了、缓存插件的一半功能是空的。

为什么难发现?因为页面能正常打开。 一个”网站挂了”的问题,十分钟就修好了;一个”网站看起来正常但一半功能没生效”的问题,可以拖几年。

记住它的判断方法:打开页面源码,搜 api.w.org 或者 generator。搜不到,就是没调 wp_head()。

第二句:模板层级决定”用哪个文件”,循环决定”文件里输出什么”

这两件事撑起了整个主题系统。

新手最容易犯的错,是把它们混在一起:想改文章页的样式,去改 index.php——因为他在首页看到的就是 index.php。结果改了没反应,因为文章页用的是 single.php。

“我改的文件为什么没生效”这个问题,九成的答案是模板层级。

而”页面能开但内容是错的 / 空的 / 重复的”,九成的答案是循环。

两个问题,两条线索,别混。

第三句:主题管”显示”,插件管”功能”

这条界线很多人模糊,后果是换主题时功能全丢。

判断标准很简单:这段代码删掉之后,网站还能不能正常显示?

  • 能 → 它是功能,该放插件;
  • 不能 → 它是显示,放主题。

按这个标准,”文章列表怎么排”是主题的事,”访客统计”是插件的事,”防垃圾评论”是插件的事(虽然我图省事写在 functions.php 里了——这是个技术债,我知道)。

写在自己主题里当然能跑,但你换主题那天,就得重新写一遍。

这六卷里,哪些是”必须掌握”,哪些是”知道就行”

六十二篇不可能每篇都记牢。我按重要性分个层:

必须掌握(不掌握就写不下去)

  • 模板层级(卷一 2、3)
  • 主循环(卷二 9)
  • wp_head() / wp_footer()(卷三 19)
  • functions.php 与钩子的基本用法(卷四 31、32)
  • 输出转义(卷四 39)

应该会(会了能少踩很多坑)

  • WP_Query 与 wp_reset_postdata()(卷二 14、18)
  • 分页的正确写法(卷三 27、28)
  • add_theme_support(卷四 35)
  • 调试方法(卷六 59)

知道就行(遇到再查)

  • pre_get_posts(卷二 16)
  • 小工具的 before_widget 那些参数(卷三 24)
  • 多语言的 .po/.mo(卷六 56)
  • 区块主题(卷六 57)
  • 主题目录提交(卷六 60)

为什么这么分? 因为前三类是”每天都要用”,后两类是”一年用一次,用时查文档就行”。人的记忆有限,别平均用力。

接下来怎么练

看完不等于会。我给三个具体的练习,难度递增:

练习一:给现有主题加一个”阅读量统计”(半天)

要求:文章页显示”本文共被阅读 1234 次”。

这一题会逼你走完:functions.php 写函数 → 钩子挂在文章显示时 → single.php 输出 → 转义 → 处理”自己刷新不算”的问题。五个知识点,一题串完。

练习二:做一个”相关文章”模块(一天)

要求:文章页底部显示 4 篇同分类的文章,且当前这篇不能出现在里面。

这一题考的是 WP_Query 和 wp_reset_postdata()——不 reset 的话,后面的评论、分页会全乱,这是最经典的坑。

练习三:从零写一个只有三个文件的主题(两三天)

要求:style.css + index.php + functions.php,能显示文章列表和单篇,有分页。

不要抄,自己敲。敲的过程中你会不断卡住——每卡一次,就回去查对应那一篇。 这比顺序读十遍有用得多。

最后说点实在的

这个系列写了六十二篇,但我得诚实说一句:它不能让你变成”会写主题的人”。

能让你变成”会写主题的人”的,只有一件事:你真的去改了一个主题,而且改坏了,而且自己修好了。

我这次修 caogenbj,犯的错比这个系列里讲到的还多:

  • 用脚本替换函数,只匹配到第一个 },多留一个,整站白屏;
  • 清洗正文时先把 > 换成空格,导致后面剥标签把整段内容吞掉,一百多篇文章的描述全变成同一句模板;
  • 把 ?> 后面 8 个空行当成小事,结果站点地图一直是坏的。

每一个都是”看教程看不出来、动手才会撞上”的。

所以我的建议是:别把这个系列当教材读完就算,把它当手册。 改主题的时候放旁边,卡住了搜一下。用着用着,那些概念自己就长在你脑子里了。

系列导航

六卷的完整目录在这里:WordPress 主题设计教程 · 总目录。

如果你是从中间某一篇点进来的,建议按这个顺序补:

  1. 先读卷一第 1 篇(那张全景图);
  2. 再读卷二第 9 篇(主循环);
  3. 然后读卷三第 19 篇(wp_head);
  4. 其余按需查。

四篇,两个小时,你就能把这张图的骨架搭起来。剩下的都是往里填肉。

祝顺利。有问题可以在站内留言,我看到会回。

本系列导航

相关文章

发表回复

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

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