Enqueuing jQuery in plug-ins

时间:2011-09-02 作者:Laxmidi

我想在插件中使用jQuery。在函数中。我使用的主题的php,我发现:

if(!is_admin()) {
        wp_deregister_script(\'jquery\');
        wp_register_script(\'jquery\', \'http://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js\');
据我所知,这将加载jQuery,我已经准备好了。我所要做的就是将此添加到插件的javascript文件中:

jQuery(document).ready(function($) {

    //put jquery code here

})
A)是这样吗?我遗漏了什么吗?

我没有在标题中看到这一点。php:

<?php wp_enqueue_script(\'jquery\');?>
<?php wp_head(); ?>
B)我还想使用jquery ui。在该主题附带的插件中,我发现:

wp_enqueue_script("jquery-ui-sortable");
wp_enqueue_script("jquery-ui-draggable");
wp_enqueue_script("jquery-ui-droppable"); 
我是否只是在自己的插件中执行上述操作?然后在我的js文件中调用它:

jQuery(document).ready(function($){

}
如果我想使用jQuery UI库的其他部分呢?如何判断主题中包含了jQuery UI的哪些部分?

抱歉问了一些基本问题。我想确保我的设置正确,并且我了解发生了什么。

其他信息:

假设我有一个名为“myplugin”的插件。该插件可以正常工作。但是,我想添加一些jQuery功能。在myplugin的主要功能中,我添加了:

wp_enqueue_script(\'myplugin_script\', \'http://mysite/wp-content/plugins/myplugin/js/myplugin_script.js\');
在myplugin\\u脚本中。js,我有:

jQuery.noConflict();

jQuery(document).ready(function($) {                
    alert("Hello");                                                                     
})
为什么警报没有弹出?是否需要将脚本添加到挂钩?或者wp\\u enqueue\\u脚本会导致它触发吗?

非常感谢。

-拉克西米迪

1 个回复
最合适的回答,由SO网友:EAMann 整理而成

首先,如果您的代码(或主题代码)正在注销jQuery并从另一个位置(Google)重新注册它,则需要将其添加到某个位置:

jQuery.noConflict();
这使得jQuery与其他试图定义$ 全局变量。WordPress将这一行捆绑到了他们的版本中,而Google没有。

如果需要将jQuery和一堆jQuery UI内容排队,则需要这样做。

function my_enqueue() {
    wp_enqueue_script(\'jquery\');
    wp_enqueue_script("jquery-ui-sortable");
    wp_enqueue_script("jquery-ui-draggable");
    wp_enqueue_script("jquery-ui-droppable"); 
}
add_action( \'wp_enqueue_scripts\', \'my_enqueue\' );
这将把您的排队挂接到相应的操作,该操作将在标头中输出它们。我假设jQuery UI脚本已经在WordPress中注册。

结束

相关推荐

如何在WordPress中包含jQuery-UI库?

我正在尝试使用以下enqueue语句将jQuery UI库加载到WordPress插件中:wp_enqueue_script(\'jquery\'); wp_enqueue_script(\'jquery-ui-core\'); jQuery库加载良好,但ui核心是MIA。我可以启动ui核心函数的唯一方法是使用静态include加载库,如下所示:<script type=\"text/javascript\" src=\"https://ajax.googleapis.com/aj