jQuery没有在WordPress中定义,但我的脚本正确排队

我正在尝试将单独的javascript文件mobile-menu.js加载到我的Wordpress主题中。 当我看到控制台时,它说,“jQuery没有被定义。” 但是,我知道我正确地将我的脚本文件排入队列。 有任何想法吗?

HTML文件:

  
'primary' ) ); ?>

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'); }