// 子主题 functions.php
add_action('wp_enqueue_scripts', function () {
wp_enqueue_script('track', get_stylesheet_directory_uri() . '/js/track.js', [], '1.0', true);
});
在父主题 functions.php 末尾加的一段统计代码,主题推了一次小版本更新后整段没了,文件修改时间变成更新当天。这类现象通常不是突然出现的,往前翻半天日志能看到苗头。
追下去是这么回事:WordPress 更新主题时整套替换主题目录,父主题里所有手改的文件都会被新版本覆盖,functions.php 也在其中。这类改动只能放进子主题,更新不会碰子主题目录。
「主题更新代码被覆盖」改完先别急着全量,挑一台机器放半天,真有问题这段时间就能看出来。同一份配置存在多处的,先确认改的是被加载的那一份。
新版本先放一台机器上跑一天再全量,问题一般在这段时间暴露。
处理上按这个顺序:把自定义代码从父主题搬到子主题 functions.php,只保留钩子和回调;样式同理放进子主题 style.css,别直接改父主题的样式表;更新前用 diff 比一遍父主题目录,确认没有别的文件被改过。
确认没问题再收工,再更新一次主题,统计脚本仍在页脚输出,父主题文件保持原样。
