我有一个非常简单的JS脚本,名为script_1.js
坐在我的212个孩子主题的最底层。此脚本仅包含:
$(document).ready(function(){console.log("scriptLoaded");
});
我把它装上了
functions.php
:
function theme_enqueue_styles() {
wp_enqueue_style( \'parent-style\',
get_template_directory_uri() . \'/style.css\'
);
wp_enqueue_style( \'child-style\',
get_stylesheet_directory_uri() . \'/style.css\',
array( \'parent-style\' )
);
}
function wpb_adding_scripts() {
wp_register_script( \'my_script\',
get_stylesheet_directory_uri() . \'/script_1.js\',
array( \'jquery\' ),
null,
true
);
wp_enqueue_script( \'my_script\' );
}
add_action( \'wp_enqueue_scripts\', \'theme_enqueue_styles\' );
add_action( \'wp_enqueue_scripts\', \'wpb_adding_scripts\' );
现在,我阅读了文档,发现如果要将jQuery放在第一位,就必须使用上面的语法,因此
array( \'jquery\' )
.
问题是,它仍然不起作用,在控制台中,我仍然得到通常的:
TypeError: $ is not a function
$(document).ready(function(){
有一个链接可以看到问题的发生,
here it is (控制台错误)。
有人知道为什么这样不行吗?我是否错误地将jQuery或其他内容排入队列?我看过一些例子,比如this one 这就是我从中获得灵感的地方,但没有乐趣。
SO网友:Pooja Mistry
尝试两件事——1。使用链接您的jswp_enqueue_script
行动如下:
add_action( \'wp_enqueue_scripts\', \'theme_name_scripts\' );
function theme_name_scripts() {
wp_enqueue_script( \'script-name\', get_template_directory_uri() . \'/js/example.js\', array(\'jquery\'), \'\', true);
}
wp\\u enqueue\\u script()函数中的第三个参数将确保在当前js文件之前加载jquery。
在js文件中,替换$
具有jQuery
作为:
jQuery(文档)。就绪(function(){console.log(“scriptLoaded”);});