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