1

我有一个在 WordPress 3.6 上运行的网站,最近升级到 NextGen Gallery 2。

我正在从 Google 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 加载脚本,但没有任何改变。

我想保证插件升级安全,所以我不想编辑文件。

4

1 回答 1

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);
    ...
}
于 2013-08-22T20:28:37.883 回答