【问题标题】:Multiple versions of the same jquery plugin being loaded by wordpress pluginswordpress 插件正在加载同一个 jquery 插件的多个版本
【发布时间】:2011-05-03 21:16:30
【问题描述】:

我正在使用两个 wordpress 插件 WP-Cycle 和 NextGen-Gallery。这两个插件都使用 jquery 循环插件。有没有办法在主题中避免这种情况?

我在 firebug 中看到以下错误:

[cycle] terminating; zero elements found by selector

我认为这导致我的其他 jquery 脚本之一无法正常运行。

有问题的页面是:http://www.rakshakfoundation.org/temp-2/

无法正常运行的脚本:http://www.rakshakfoundation.org/wp-content/plugins/gravityforms/js/conditional_logic.js?ver=1.5.2

谢谢

【问题讨论】:

    标签: jquery jquery-plugins wordpress


    【解决方案1】:

    插件应该做什么?看来这不是错误,而是调试输出。我的猜测是,开发人员明智地在例程运行之前检查某种元素。由于未找到任何元素,因此不会运行例程并打印出调试消息。没有发生 JS 错误。我的猜测是插件试图做它应该做的任何事情(可能是对某些图像的操作),但由于没有找到匹配的元素,序列被终止。据我所知,该插件似乎正在发挥作用。

    【讨论】:

    • 谢谢沙丁鱼。我认为该消息是一个错误。我已经联系了使用 conditional_logic.js 脚本的插件作者。
    【解决方案2】:

    Cycle 插件确实被加载了两次,因为每个插件在不同的句柄下加载了不同的版本。 WP-Cycle 将插件作为“循环”加入队列,而 nextegen 将其作为“jquery-cycle”加入队列。

    您要做的是通过编辑主题目录中的 functions.php 文件并添加该行来手动覆盖其中之一的加载(假设两者都可以使用最新版本的 jQuery 插件)。

    <?php wp_deregister_script( 'jquery-cycle' ); ?> 
    

    应该可以,但如果不行,您可以编辑 nggallery.php 并注释掉该行

    wp_register_script('jquery-cycle', NGGALLERY_URLPATH .'js/jquery.cycle.all.min.js', array('jquery'), '2.88');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-21
      • 2011-04-26
      相关资源
      最近更新 更多