我制作了一个wp插件,可以在线预订租车,但我在本地测试了不同的wp主题,它工作正常!但是当我因为某种原因在这个网站上安装它时,jquery功能不起作用!当我按下fortsetzen按钮时,它不会打开另一个步骤(它是一个有4个步骤的表格)。我认为这是因为主题使用的其他jquery函数或库,我很沮丧,我不知道是什么导致这个!有任何想法吗?
答案 0 :(得分:3)
我不知道您使用什么来避免冲突,但您始终可以使用此代码段来避免这种情况:
(function($){
//Your code goes here
}(jQuery));
另外,请务必使用wp_enqueue_script()函数加载脚本。不要忘记WP通常默认加载jQuery。不要再做不必要了。
另一个编辑:您should NOT正在使用wp_print_styles挂钩加载脚本。该代码在上面的链接中说:“wp_print_styles不应该用于在首页上排队样式或脚本。请改用wp_enqueue_scripts。”如果它这样说,你应该听话= P
最后一件事:请注意wp_enqueue_script()接受最后一个参数($ in_footer),一个布尔值,true或false,告诉WP你要加载脚本的位置(页眉或页脚)。页脚上的真实负载。默认情况下,它可能设置为false,而您可能需要在页脚上加载自定义脚本和插件,因此应将其设置为TRUE。
答案 1 :(得分:3)
不要在插件文件夹中包含jQuery。
相反,通过WordPress内置函数wp_enqueue_script加载WP附带的jQuery。
这将加载WordPress附带的jQuery,并将阻止加载相同脚本(您拥有)的多个实例。
查看文档wp_enqueue_script以了解如何使用它,以及可以加载的“内置”脚本的长列表。
您可以使用以下命令加载jQuery,不带将其包含在插件文件中:
wp_enqueue_script('jquery');
您还可以加载jQuery ui,以及draggable,droppable等等。查看文档以了解这样做:
wp_enqueue_script('jquery-ui');
将加载jQuery ui核心。
* 编辑:* 此外,使用Firefox,并安装和使用Firebug。使用Firebug,我可以在您的网站上快速查看此错误:
TypeError:$(...)。inputfocus不是函数
第16行
这告诉我在你的插件jQuery中,你试图通过访问$
函数来使用jQuery。在WP中,您必须以不依赖$
函数的方式使用jQuery。要么使用jQuery(...)
调用jQuery,要么以compatibility mode的某种形式使用它:
答案 2 :(得分:0)
我使用以下方法解决了这个问题:add_action('wp_print_styles','scripts');现在它工作,因为它加载脚本和结束但但我必须解决其他插件和主题的问题。谢谢大家。