WordPress插件-如何正确添加jQuery?

时间:2018-12-12 16:53:26

标签: jquery wordpress

我想将jQuery添加到我自己的WordPress插件中,但是我在网络中找到的所有东西都无法正常工作。您能检查一下我的代码有什么问题吗?

/cennik/includes/functions.php

function fancybox_init()
{
    wp_register_script('fancybox', plugins_url('/cennik/public/js/cennik.js', __FILE__), array('jquery'));
    wp_enqueue_script('fancybox');
}    

add_action('wp_enqueue_scripts', 'fancybox_init');

/cennik/public/js/cennik.js

$(window).ready(function(){
    alert("asd");
});

感谢帮助!

3 个答案:

答案 0 :(得分:0)

更改

$(window).ready(function(){
    alert("asd");
});

jQuery( document ).ready(function() {
    alert("asd");
});

看看会发生什么

答案 1 :(得分:0)

您不能直接在WordPress中使用$,因为其他库也可能会使用$。您不应该全局使用$来使用或调用jQuery。

这就是为什么您应该显式使用jQuery对象的原因。调用ready()函数时,至少必须这样做。这称为使用jQuery的 no conflict 方法。

您可以指定$作为函数的参数,并像通常调用jQuery函数那样在函数内部使用它。

jQuery( document ).ready(function( $ ) {
    // Now, you can use $
    $( '#myId' ).addClass( 'newclass' );
});

答案 2 :(得分:0)

我将功能更改为

function fancybox_init()
{
    wp_enqueue_script('my-custom-script', plugins_url() .'/cennik/public/js/cennik.js', array('jquery'), null, true);

}    

add_action('wp_enqueue_scripts', 'fancybox_init');

现在可以了,谢谢您的帮助!