我目前正致力于将名为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的优秀建议。我把脚本放在functions.php中,带有wp_register_script()和wp_enqueue_script()。起初我很困惑,更多的事情被打破了。进一步阅读,我看到由于Wordpress在其内置的jQuery库中使用了noConflict包装,因此$快捷方式不可用。因此,我浏览了所有在检查器中显示错误的脚本,并将'$'与'jQuery'交换。瞧!一切都在j ..再次感谢!答案 0 :(得分: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的推荐方法 生成的页面。