Wordpress插件不加载JS文件

时间:2018-05-04 13:57:58

标签: javascript php wordpress

我正在编写我的第一个wordpress插件,我正在尝试使用我的插件加载脚本。

function somadome_enqueue_script() {   
    wp_enqueue_script( 'somajQuery', 'https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js',array(), '1.0');
    wp_enqueue_script( 'logoslickjs', plugin_dir_url( __FILE__ ) . 'js/slick.js',array('jQuery'), '1.0');
    wp_enqueue_script( 'logoslider', plugin_dir_url( __FILE__ ) . 'js/somaslick.js',array('jQuery'), '1.0');
    wp_enqueue_style('slickcss', plugin_dir_url( __FILE__ ) . '/css/slick.css', array(), '1.0', 'all');
    wp_enqueue_style('logocss', plugin_dir_url( __FILE__ ) . '/css/somaslide.css', array(), '1.0', 'all');
}

/*Create Plugin Parts*/
add_action('init', 'create_carousel');
add_action('wp_enqueue_scripts', 'somadome_enqueue_script');

问题是CSS加载(底部有两行)但顶部的代码(脚本)没有加载,我试图弄清楚Javascript / JQuery代码没有加载的原因。

我回应了检查它们的路径,它们加载到浏览器中,所以它们存在。但是没有被wordpress加载。

2 个答案:

答案 0 :(得分:1)

从查看代码开始,我假设它没有加载,因为你错过了enqueue函数中JavaScript文件的正斜杠。

function somadome_enqueue_script() {   
    wp_enqueue_script( 'somajQuery', 'https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js',array(), '1.0');
    wp_enqueue_script( 'logoslickjs', plugin_dir_url( __FILE__ ) . '/js/slick.js',array('jQuery'), '1.0');
    wp_enqueue_script( 'logoslider', plugin_dir_url( __FILE__ ) . '/js/somaslick.js',array('jQuery'), '1.0');
    wp_enqueue_style('slickcss', plugin_dir_url( __FILE__ ) . '/css/slick.css', array(), '1.0', 'all');
    wp_enqueue_style('logocss', plugin_dir_url( __FILE__ ) . '/css/somaslide.css', array(), '1.0', 'all');
}

......应该让事情有效。

答案 1 :(得分:0)

我猜它只是一个依赖问题。您已设置logoslickjs取决于array('jQuery')且wp_enqueue_script()的依赖关系参数是大小写的,因此它应为array('jquery')

但是,由于您正在加载名为'somajQuery'的自定义jQuery版本,因此您需要将脚本从array('jQuery')更改为array('somajQuery'),因此您的代码应为:

function somadome_enqueue_script() {   
    wp_enqueue_script( 'somajQuery', 'https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js',array(), '1.0');
    wp_enqueue_script( 'logoslickjs', plugin_dir_url( __FILE__ ) . '/js/slick.js',array('somajQuery'), '1.0');
    wp_enqueue_script( 'logoslider', plugin_dir_url( __FILE__ ) . '/js/somaslick.js',array('somajQuery'), '1.0');

    wp_enqueue_style('slickcss', plugin_dir_url( __FILE__ ) . '/css/slick.css', array(), '1.0', 'all');
    wp_enqueue_style('logocss', plugin_dir_url( __FILE__ ) . '/css/somaslide.css', array(), '1.0', 'all');
}

现在,logoslickjslogoslider取决于自定义jQuery somajQuery等等。