代码区块里贴了 20 行 PHP,编辑器里有语法颜色,前台打开全黑,行号也没有,长行还断在单词中间。第一次遇到会往复杂处想,其实漏掉的多是个小前提。
wp_enqueue_style("prism", get_template_directory_uri() . "/css/prism.css");
wp_enqueue_script("prism", get_template_directory_uri() . "/js/prism.js", [], "1.29", true);
高亮是主题或插件在编辑器里额外加载的脚本,前台没有对应的样式表和初始化调用。代码区块本身只输出 pre 和 code,不带任何着色能力。这一点先确认清楚,后面就不用反复试。
碰到「代码区块高亮缺失」这类问题,我习惯先把当前配置原样备份一份,改坏了立刻换回来,不用现场推。新版本先放一台机器上跑一天再全量,问题一般在这段时间暴露。
备份不是备了就行,恢复一次才算数,很多备份文件打开才发现是空的。接口问题先分清是没发出去、发出去了没收到,还是收到了处理失败。
具体做法是,前台入队高亮脚本和样式 只给含代码区块的页面加载;初始化时明确指定语言 不要让它自动猜测;行号用 CSS 计数器生成 不要写进代码文本。
改完照着核一遍,前台 PHP 关键字有颜色,行号从 1 连续排到 20。
