【问题标题】:Activating wordpress plugins breaks jquery effects激活 wordpress 插件会破坏 jquery 效果
【发布时间】:2013-05-09 04:22:01
【问题描述】:

我目前正在将一个名为 Rekreato 的 HTML5 模板转换为 wordpress 主题。我已经设法设置了一个简单的主题,但是每当我使用 jQuery 脚本激活任何插件时,我的一些 jQuery 效果都会被破坏。具体来说,在 Firefox 调试器中,我得到了 --

TypeError: jQuery.easing[jQuery.easing.def] 不是函数@ jquery.easing.1.3.js:46

这里是page in question。您可以看到大约一半的地方有一个不起作用的图像滑块。我已经激活了一个名为 WP eMember 的插件。

我尝试了很多方法,例如将我的主题配置为子主题、将 jquery.easing.1.3 包装在文档就绪函数中以及在代码中移动脚本调用,但无济于事。我什至不确定缓动脚本有问题。答案可能正盯着我看,但我似乎无法弄清楚。非常感谢。

编辑:来自 markratledge 的出色建议。我使用 wp_register_script() 和 wp_enqueue_script() 将脚本放在 functions.php 中。起初我很困惑,甚至更多的东西被破坏了。进一步阅读,我看到由于 Wordpress 在其内置的 jQuery 库周围使用了 noConflict 包装器,因此 $ 快捷方式不可用。因此,我检查了所有在检查器中显示错误的脚本,并将“$”与“jQuery”交换。瞧!一切都在颤抖。再次感谢!

【问题讨论】:

    标签: javascript wordpress jquery


    【解决方案1】:

    查看Function Reference/wp enqueue script « WordPress Codex,了解如何在 WordPress 主题中加载 JS 并避免 jQuery 错误,并提供示例。

    您正在通过直接链接加载一堆 jQuery,但随后 wp_head 进来并为插件加载了更多 jQuery,并且发生了冲突。即,两个不同的主要 jQuery 库;检查 Firefox 控制台以获取所有正在加载的 JS 的列表。

    来自该文档:

    wp_enqueue_script 在正确的时间将脚本文件链接到生成的页面 到脚本依赖项,如果脚本还没有 包括,如果所有依赖项都已注册。你可以 或者将脚本与之前使用注册的句柄链接 wp_register_script() 函数,或为该函数提供所有 链接脚本所需的参数。

    这是将 JavaScript 链接到 WordPress 的推荐方法 生成的页面。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-05
      • 2017-11-11
      • 1970-01-01
      • 2020-12-02
      • 1970-01-01
      • 2019-05-21
      • 2017-12-19
      相关资源
      最近更新 更多