代码

把一个 WordPress 主题写得像一封信

主题不一定要堆满功能。它更像一封信:结构清楚、语气克制,读的人不需要说明书。

2 分钟 396 31
把一个 WordPress 主题写得像一封信

这些年我装过很多主题,最后都换回了自己写的那个。不是因为我的更好看,而是因为我知道它为什么不生效 —— 打开文件,每一行都是我亲手打的。

先定规矩,再写代码

给自己立三条规矩,比装十个插件管用:

  1. 不依赖插件。分页、面包屑、相关文章,能自己写三十行就不引一个框架。
  2. 一个文件只做一件事。inc/ 下按职责拆开,不写一个八百行的 functions.php。
  3. 能删就删。每加一个功能,先问它值不值得多一次请求。

一个很小的例子

阅读时长这种小功能,核心其实只有几行:

function reading_time( $id ) {
    $text = wp_strip_all_tags( get_post_field( 'post_content', $id ) );
    return max( 1, ceil( mb_strlen( $text ) / 380 ) );
}

不需要插件,不需要缓存表,也不需要在每次页面加载时去查一遍 postmeta。

模板是语法,不是装饰

模板层级其实很像语法:single.php 是陈述句,archive.php 是列举,404.php 是道歉。写对了层级,WordPress 自己会把请求送到正确的地方,你不需要写一堆 if。

好的代码读起来像散文:你顺着往下读,不需要停下来推理。

所以这次重做主题,我最满意的部分其实是删掉的那些 —— 那些本来可以加,但忍住了没加的东西。

说点什么