Invoking Jquery in a Plugin

时间:2014-04-30 作者:Praveen

我在插件中使用以下代码:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

<?php echo "<script src=".$plugins_url."/mistral/js/jquery.pajinate.js>  </script>";  ?>
<script>
$(document).ready(function(){
$(\'#paging_container1\').pajinate();
});
</script>
现在,由于从CDN重新实例化jquery,它正在破坏我的其他jquery插件。任何将默认jquery与WordPress结合使用的解决方案都会很好。

3 个回复
SO网友:Maidul

要加载默认wordpess jquery,可以使用

add_action( \'wp_enqueue_scripts\', \'my_jquery\' );

function my_jquery(){
  wp_enqueue_script("jquery");
}
并在jquery代码上使用jquery无冲突包装以避免错误或

(function($) {
    // Inside of this function, $() will work as an alias for jQuery()
    // and other libraries also using $ will not be accessible under this shortcut
})(jQuery);
获取更多详细信息wp enqueue script

SO网友:Otto

使用适当的排队并停止使用$快捷方式,您应该没有问题。

add_action(\'wp_enqueue_scripts\', \'example\');
function example() {
    wp_enqueue_script( \'pajinate\', plugins_url("js/jquery.pajinate.js", __FILE__), array(\'jquery\') );
}

add_action(\'wp_head\',\'example_two\');
function example_two() {
?>
<script type="text/javascript">
jQuery(document).ready(function(){
   jQuery(\'#paging_container1\').pajinate();
});
</script>
<?php
}

SO网友:cybmeta

Wordpress有很好的工具来处理脚本依赖关系,您应该使用它。您可以从以下内容开始:

一般来说,不建议加载外部jQuery,但如果确实要加载,则必须从WP core注销jQuery副本,然后注册自己的副本或从CDN:

add_action(\'wp_enqueue_scripts\', \'wpse_scripts\');
function wpse_scripts() {

    //Uncomment the next two lines if you want to load jquery from Google CDN
    //wp_deregister_script(\'jquery\');
    //wp_register_script( \'jquery\', \'//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js\', false );

    //Pajinate depends on jquery
    wp_register_script( \'pajinate\', $plugins_url."/mistral/js/jquery.pajinate.js", array(\'jquery\') );

    //In the next file include your functions and code that depends on jquery and pajinate
    wp_register_script( \'my-script\', $plugins_url."/mistral/js/your-script.js", array(\'jquery\', \'pajinate\') );

    //Now you are ready to load enqeue the registered scripts
    wp_enqueue_script(\'jquery\');
    wp_enqueue_script(\'pajinate\');
    wp_enqueue_script(\'my-script\');

}

结束

相关推荐

插件取消注册WordPress jQuery后将其加入队列

我正在关注一个Wordpress安装,它使用一个注销jQuery的插件,并用它自己的古老版本替换它。我知道why loading your own jQuery is irresponsible 并希望使用与Wordpress捆绑的jQuery版本。我目前正在注销插件版本的jQuery,并将Wordpress版本排队。然而,我的方法对jQuery的位置和版本进行了一些假设。有没有更好的方法来做到这一点,确保Wordpress更新时不会出现问题?wp_deregister_script( \'jquery\