故障表现

按教程建了子主题,改 style.css 后前台没变化,清缓存也不动。

问题出在哪

子主题样式表没有正确入队,或父主题样式在子主题之后加载覆盖了修改。判断时先分清是 WordPress 子主题 本身的配置问题,还是上游调用、运行环境带进来的差异;前者改配置就能收口,后者要沿着请求链路一层层往上找,处理顺序不能颠倒。先在出问题的机器上复现一次,把报错原文和发生时间记下来,再对着日志定位。

按这个顺序处理

  1. 确认子主题的 style.css 头部声明了 Template
  2. 用 enqueue 按依赖顺序挂载
  3. 用更高优先级排在父主题之后

对应的命令或配置片段如下,可直接复制:

add_action('wp_enqueue_scripts', function () {
  wp_enqueue_style('parent', get_template_directory_uri() . '/style.css');
  wp_enqueue_style('child', get_stylesheet_uri(), ['parent'], '1.0');
}, 20);

改完只在一台机器上验证不够,至少从外网和移动网络各试一次,才能确认不是本地缓存造成的假象。不要一次改多个参数,每次只动一处并记录下来,否则现象变了也说不清是哪个改动起的作用。

怎么确认改好了

前台样式变为子主题中的写法,更新父主题后修改不丢。

作者 9823189