【问题标题】:Wordpress $ is undefined [duplicate]Wordpress $未定义[重复]
【发布时间】:2018-07-19 10:08:46
【问题描述】:

我在我的 wordpress 主题中加入了一些自定义的 javascript。所以我将此行添加到我的functions.php

function add_theme_scripts() {
    wp_enqueue_script('equalheight', get_template_directory_uri().'/js/equalheight.js', array ( 'jquery' ), true);
    wp_enqueue_script('script', get_template_directory_uri().'/js/script.js', array ( 'jquery' ), true);
}
add_action('wp_enqueue_scripts', 'add_theme_scripts');

但是脚本有 jquery 的问题。我会在我的浏览器控制台中得到这个:

TypeError: $ is undefined

为什么?设置了对jquery的依赖。

有人有想法吗?

【问题讨论】:

标签: javascript jquery wordpress


【解决方案1】:

如果您要检查 wp_enqueue_script 的声明,那么它是这样的:-

wp_enqueue_script( 
  string $handle, string $src = '', array $deps = array(), 
  string|bool|null $ver = false, bool $in_footer = false 
) 

它的第三个参数用于定义依赖关系,在你的代码中,你定义了这两个文件需要jquery才能正常工作。

如果不需要jquery,就用这个

function add_theme_scripts() {
    wp_enqueue_script(
     'equalheight', 
      get_template_directory_uri().'/js/equalheight.js',  
      array (), true
   );
    wp_enqueue_script( 
      'script',  
      get_template_directory_uri().'/js/script.js',  
      array (), true 
    );
}
add_action('wp_enqueue_scripts', 'add_theme_scripts');

【讨论】:

    【解决方案2】:

    你有 jQuery 集的依赖,但你还没有加载 jQuery 本身:

    function add_theme_scripts() {
        wp_enqueue_script("jquery");
        wp_enqueue_script('equalheight', get_template_directory_uri().'/js/equalheight.js', array ( 'jquery' ), true);
        wp_enqueue_script('script', get_template_directory_uri().'/js/script.js', array ( 'jquery' ), true);
    }
    add_action('wp_enqueue_scripts', 'add_theme_scripts');
    

    正如其他人在 cmets 中提到的,您需要使用 jQuery-variable 而不是 $

    【讨论】:

    • 谢谢。我已经添加了这一行。 JQuery 脚本包含在其他脚本之前,但没有发生任何事情。
    猜你喜欢
    • 2014-02-13
    • 1970-01-01
    • 2014-12-21
    • 2019-01-28
    • 2017-10-11
    • 2018-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多