WordPress所有JS URL附加'='defer导致资源加载失败,如何修复?
解决WordPress JS URL错误附加'='defer的问题
1. 排查可疑插件
- 禁用所有性能优化类插件(缓存、JS延迟加载、资源合并类等),逐一重新启用,定位触发问题的插件。这类插件常因配置错误或版本bug,误将defer属性的添加逻辑改成了拼接URL参数。
- 重点检查带「JS延迟加载」「Defer加载」选项的插件,确认是否把“添加defer属性”设置成了“修改URL参数”。
2. 检查主题自定义代码
- 打开主题的
functions.php文件,搜索defer相关代码,排查是否存在错误的URL拼接逻辑,比如:
// 错误写法:将defer直接拼接到JS URL末尾 add_filter('script_loader_tag', function($tag, $handle) { return str_replace('.js', '.js\'=\'defer', $tag); }, 10, 2);
- 替换为正确的defer属性添加逻辑(可指定需要延迟的脚本,避免全局生效):
// 正确写法:给script标签添加defer属性 add_filter('script_loader_tag', function($tag, $handle) { $defer_scripts = array('jquery-migrate', 'jquery-blockui'); if (in_array($handle, $defer_scripts)) { return str_replace(' src=', ' defer src=', $tag); } return $tag; }, 10, 2);
3. 修复插件/核心文件问题
- 若问题由特定插件导致,尝试更新插件到最新版本;更新无效则暂时替换为同类插件,或向插件开发者反馈bug。
- 若怀疑WordPress核心文件被篡改,备份
wp-config.php和wp-content目录后,重新覆盖安装同版本核心文件。
4. 清理缓存
- 清空插件缓存、服务器端缓存以及浏览器缓存,避免旧的错误代码持续生效。
内容的提问来源于stack exchange,提问作者cham_eleon
相关产品推荐
相关产品推荐

