脚本未在functions.php中加载

时间:2016-03-25 03:53:36

标签: wordpress underscores-wp

我正在使用下划线WordPress主题,当我加载页面时,我似乎无法获得任何自定义脚本来显示结果。我试图在functions.php中包含一个简单的脚本'test.js'来测试它。所有其他脚本都可以正常工作。任何帮助将不胜感激:

function blake_eric_scripts() {

    /**
    * Enqeue bootstrap javascript
    */    
    wp_enqueue_script( 'bootstrap-js', '//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js', array('jquery'), '3.3.6', true);

    /**
    * Enqeue bootstrap styles
    */      
    wp_enqueue_style( 'bootstrap-css', '//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css', array(), 
'3.3.6', 'all' );

    wp_enqueue_script( 'blake-eric-test', get_template_directory_uri() . '/js/test.js', array('jquery'));

    /**
    * Enqeue styles.css
    */
    wp_enqueue_style( 'blake-eric-style', get_stylesheet_uri() );

    wp_enqueue_script( 'blake-eric-skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix.js', array(), '20130115', true );

    if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
        wp_enqueue_script( 'comment-reply' );
    }
}
add_action( 'wp_enqueue_scripts', 'blake_eric_scripts' );

这是简单的jQuery脚本“test.js”:

$(function(){
  $('#main').addClass('test-class');
});

谢谢!

2 个答案:

答案 0 :(得分:1)

使用以下代码替换test.js: -

jQuery(function(){
  jQuery('#demo').addClass('test-class');
});

由于与其他js文件冲突,通常会发生此类错误。

答案 1 :(得分:0)

默认情况下,Wordpress在无冲突模式下运行jQuery,因此您无法使用$符号并定义此类函数

$(function(){ $('#main').addClass('test-class'); });

相反,你可以做的是

jQuery(function($){ $('#main').addClass('test-class'); });

如果在括号内包含$符号,则可以在函数的其余部分使用它。 有关详情,请查看here