【问题标题】:Outdated Version of jQuery in WordpressWordpress 中过时的 jQuery 版本
【发布时间】:2013-04-18 08:39:29
【问题描述】:

我在 wordpress (easy-fancy-box) 中有一个插件,我认为它是在我的 wp 标题中添加的。 <script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js?ver=1.6.4'></script>

这个版本已经过时并且阻止我使用更新版本的jquery,(如果我添加jquery 1.8版本,那么fancy box插件会失败。有没有办法更新easy-fancy-box使用的版本?

我已尝试在所有插件文件中搜索此内容,但无法找到将其更改为较新版本的位置

【问题讨论】:

    标签: jquery wordpress fancybox


    【解决方案1】:

    您确定不是您或其他插件添加了 jQuery 吗?

    我刚刚查看了您链接的插件,它只是调用了您在 WordPress 中注册的 jQuery。

    easy-fancybox.php 中的示例第 402 行:

    wp_enqueue_script('jquery.fancybox', plugins_url(FANCYBOX_SUBDIR.'/fancybox/jquery.fancybox-'.FANCYBOX_VERSION.'.pack.js', __FILE__), array('jquery'), FANCYBOX_VERSION);
    

    jQuery 被加载为其中的依赖项。

    如果您取消注册 jQuery(使用 wp_deregister_script('jquery') )并再次注册以使用 Google 的 CDN,请查看您的主题。

    【讨论】:

    • 谢谢。我在任何 wordpress 文件中都找不到 jquery 1.6.4 版?是否有一种特定的方法可以让我找到导致此问题的插件?
    • 它不是一个文件。在您的functions.php 中查找字符串1.6.4。停用您的插件,以确保它不是另一个插件搞砸了。
    • 是的!我找到了:function thethe_image_slider_head_scripts(){ wp_deregister_script( 'jquery' ); wp_register_script( 'jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js', false, '1.6.4'); wp_enqueue_script( 'jquery' ); wp_enqueue_script('slider-ui', THETHE_IMAGE_SLIDER_URL.'style/js/thethe-image-slider.js', array('jquery')); }
    • 去掉前两行:wp_deregister_script( 'jquery' ); wp_register_script( 'jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js', false, '1.6.4');
    • RRikesh - 谢谢谢谢!极好的。控制台中不再出现 1.6 版本,插件仍在工作:) 谢谢
    【解决方案2】:

    首先,Wordpress will load the latest version of JQuery anyway,所以你最好完全删除过时的版本,而不是更新。

    其次,如果 JQuery 以推荐方式入队,您可以使用 WP 的 wp_dequeue_script 函数 dequeue 它,您可以 read about here. 您需要知道 handle 在最初将其排入队列时为其分配了脚本以将其删除。

    这里的问题是我不确定 Easy Fancy 盒子是否是您应该查看的插件;我已经快速浏览了它的文件,但我没有发现它在 JQuery 中排队的任何实例。所以你的嫌疑人可能是一个不同的插件。查看您的其他插件并留意任何指向 JQuery V1.6.4 的 wp_register_script 实例。找到罪魁祸首后,您可以注释掉相关的 wp_register_scriptwp_enqueue_script 行,我不建议这样做, 或者您可以使用 @ 987654327@ 和 wp_deregister_script 函数在您自己的 functions.php 文件中。

    【讨论】:

    • 谢谢你。我似乎没有找到使用出队的任何地方?我会更深入地寻找它。谢谢
    • 澄清一下;您将使用 dequeue 函数来remove 脚本。您需要查找的是wp_register_scriptwp_enqueue_script 函数; register 函数用于首先注册脚本的详细信息,例如位置、版本号以及标识它的句柄。 enqueue 函数是实际上 将脚本添加到页面的函数,它将使用前面在 register 函数中指定的句柄*。通常这两个函数会显得非常接近。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多