add_action('admin_enqueue_scripts', function ($hook) {
if ($hook !== 'toplevel_page_book-manager') return;
wp_enqueue_script('book-admin', plugins_url('admin.js', __FILE__), [], '1.0', true);
});
后台任意页面打开 4.2 秒,Network 面板里 12 个插件 js 全部加载,其中 8 个只在插件自己的设置页用得上。这类现象通常不是突然出现的,往前翻半天日志能看到苗头。
追下去是这么回事:插件在 admin_enqueue_scripts 里无条件 enqueue,没有判断 $hook_suffix,所有后台页面都挂上。脚本之间还互相依赖 jQuery 全量,加载链被拉长。
「admin_enqueue_scripts 全站加载」确认了原因之后,改动尽量只碰那一处,顺手改的东西后面最容易出问题。监控和日志的时间要对上,时区不一致会多绕很大一圈。
临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。
一次只改一处,改完立刻验证,几个改动叠在一起,出问题就说不清是谁导致的。
处理上按这个顺序:先打印 $hook_suffix 确认当前页面标识;只在插件设置页 enqueue;去掉不必要的 jQuery 依赖 改按需引入。
确认没问题再收工,文章列表页的脚本请求从 12 个降到 4 个,打开时间回到 1.5 秒以内。
