jQuery没有在WordPress中定义,但我的脚本正确排队
我正在尝试将单独的javascript文件mobile-menu.js加载到我的Wordpress主题中。 当我看到控制台时,它说,“jQuery没有被定义。” 但是,我知道我正确地将我的脚本文件排入队列。 有任何想法吗?
HTML文件:
functions.php文件:
function lapetitefrog_scripts() { wp_enqueue_style( 'lapetitefrog-style', get_stylesheet_uri() ); wp_enqueue_script( 'lapetitefrog-mobile-menu', get_template_directory_uri() . '/js/mobile-menu.js', array(), '1.0', true ); } add_action( 'wp_enqueue_scripts', 'lapetitefrog_scripts' );
mobile-menu.js文件:
jQuery(document).ready(function($) { $('#menu-icon').click(function() { $('#switchmenu').slideToggle("fast"); }); });
添加wp_enqueue_script('jquery');
在排队脚本之前。
首先确保标题中包含jquery文件,并且您的文件需要jQuery
wp_enqueue_script( 'lapetitefrog-mobile-menu', get_template_directory_uri() . '/js/mobile-menu.js', array('jquery'), '1.0', true );
其次你应该开始你的javascript文件,如:
(function($) { $(document).ready(function() { ....... }); })(jQuery);
要么
// Use jQuery in place of $ jQuery(document).ready(function() { ..... });
你可以试试:
首先将Jquery入队。
wp_enqueue_script('jquery');
然后在第三个参数中将JQuery依赖项排入后一个脚本,即array('jquery')
,这是大多数人忘记的。
wp_enqueue_script( 'lapetitefrog-mobile-menu', get_template_directory_uri() . '/js/mobile-menu.js', array('jquery'), '1.0', true );
WordPress默认附带jQuery
// Adds jQuery add_action('init', 'childoftwentyeleven_down'); function childoftwentyeleven_down() { // register your script location, dependencies and version wp_register_script('down', get_stylesheet_directory_uri() . '/js/down.js', array('jquery') ); // enqueue the script wp_enqueue_script('down'); }