我有一个在WordPress 3.6上运行的网站,最近升级到NextGen Gallery 2.
我正在从谷歌CDN加载jQuery并回退到本地版本。像这样......
if (!is_admin()) {
wp_deregister_script('jquery');
wp_register_script('jquery', '//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js', false, null, false);
add_filter('script_loader_src', 'jquery_local_fallback', 10, 2);
}
function jquery_local_fallback($src, $handle) {
....
}
当禁用NextGen插件时,jQuery会正确加载。如果我激活插件,它将覆盖我的jquery版本,而是使用/wp-includes/js/jquery/jquery.js
中的本地副本。
我尝试通过添加define('NGG_SKIP_LOAD_SCRIPTS', TRUE);
常量来阻止NextGen加载脚本,但没有改变。
我希望保持插件升级安全,因此我不想编辑文件。
答案 0 :(得分:4)
在查看插件代码后,我找到了取消注册我的jQuery版本的函数。我注意到它正在比较版本,看它是否比1.8更新。
我对注册脚本的调用没有版本号,所以它被这个函数覆盖了。
将版本号添加到我的jQuery寄存器后,调用就完成了。
if (!is_admin()) {
....
wp_register_script('jquery', '//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js', false, '1.10.2', false);
...
}