未在wordpress主题中读取的Javascript文件

时间:2016-10-04 07:29:42

标签: wordpress

有人可以帮帮我吗?我的所有JavaScript文件都没有在我的WordPress主题中读取,即使它们正确排队并且我使用了jQuery no conflict方法。他们根本不工作。我检查了控制台没有错误。还尝试清空浏览器的缓存仍然没有。我正在创建自己的主题。我该怎么办?

 function wpps_theme_styles() {
    wp_register_script( 'wppsmodernizr',get_template_directory_uri().'/js/vendor/modernizr-2.7.1-respond-1.4.2.min.js', '','',false );
    wp_register_script( 'bootstrapmin',get_template_directory_uri().'/js/vendor/bootstrap.min.js',array('jquery'), '', true );
    wp_register_script( 'plugins',get_template_directory_uri().'/js/plugins.js' , array('jquery'), '',true);
    wp_register_script( 'app',get_template_directory_uri().'/js/app.js' , array('jquery'), '',true);
    wp_register_script( 'formwizard',get_template_directory_uri().'/js/pages/formsWizard.js', array('jquery'), '', true );
    wp_register_script( 'custom',get_template_directory_uri().'/js/pages/custom.js', '', '', true );
    wp_register_script( 'jquery',get_template_directory_uri().'js/vendor/jquery-1.11.1.min.js', '', '', '' );

    wp_enqueue_script('wppsmodernizr');
    wp_enqueue_script('bootstrapmin');
    wp_enqueue_script('plugins');
    wp_enqueue_script('app');
    wp_enqueue_script('formwizard');        
    wp_enqueue_script('custom');        
    wp_enqueue_script('jquery');
}
add_action('wp_enqueue_scripts', 'wpps_theme_styles');      

2 个答案:

答案 0 :(得分:0)

通过替换此代码来尝试此操作

function wpps_theme_styles() {
wp_register_script( 'wppsmodernizr',get_template_directory_uri().'/js/vendor/modernizr-2.7.1-respond-1.4.2.min.js' );
wp_register_script( 'bootstrapmin',get_template_directory_uri().'/js/vendor/bootstrap.min.js',array('xyz'), 'false', 'true' );
wp_register_script( 'formwizard',get_template_directory_uri().'/js/pages/formsWizard.js', array('custom.js'), 'false', 'true' );
        wp_enqueue_script('xyz');        
        wp_enqueue_script('wppsmodernizr');
        wp_enqueue_script('bootstrapmin');
        wp_enqueue_script('formwiz');

    }

add_action('wp_enqueue_scripts', 'wpps_theme_styles');  

答案 1 :(得分:0)

好的,根据您的最新更新和错误消息,以下是一些注释。这不一定能解决您的问题,但添加评论太多了。请使用任何新的错误消息(控制台错误或PHP错误)更新问题。

首先,不要添加自己的jquery版本。 WordPress有一个内置的,所以使用它(参见"默认脚本包含和注册WordPress"部分the wp_enqueue_script documentation)。问题的可能部分是由重复使用内置句柄引起的,或者您使用的路径看起来错误(它在js文件夹名称之前缺少/)。

其次,如果您不使用参数,但需要传递值,请使用the documentation中的默认值。我不知道这是否会导致任何问题,但我谨慎对待。因此,如果没有依赖关系,请对该参数使用array();如果您未提供版本,请使用false

<强>更新

感谢您的代码。我已经设置好了(激活了主题和插件)。我没有在控制台中看到任何错误,然后我意识到你在源代码中注释掉了appplugins。我取消了它们的注释,然后我对你提到的那个有了不同的错误:$(...).wysihtml5 is not a function。我搜索了源代码,但找不到wysihtml5的任何其他引用,所以我注释掉了这一行只是为了测试。

$('.select-chosen').chosen({width: "100%"});也发生了同样的事情,所以我对它进行了评论。

$('.select-select2').select2();也失败了。在category-posts插件中似乎有一些代码,但是我无法在任何地方发现它,所以我也对它进行了评论。

$('.input-slider').slider();也失败了。我不知道您希望使用哪种滑块,因此我添加了内置jquery-ui-slider,并使app依赖于它。如果您使用的是其他滑块,则必须将脚本排入队列和/或使app依赖于包含该脚本的脚本。

$('.input-tags').tagsInput({ width: 'auto', height: 'auto'}); - 评论了它。没有其他参考。

$('.input-datepicker, .input-daterange').datepicker({weekStart: 1}); - 已添加jquery-ui-datepicker。同样的评论适用于滑块

注释掉引用timepickereasyPieChart的块。没有其他参考。

<强> TL; DR

您似乎错过了很多函数app.js依赖的源代码。我评论了app.js的第86-93,98-99和105-117行,并添加了依赖项以引入jQuery UI滑块和datepicker。这会阻止控制台中的错误,但我不知道它是否能解决您的问题 - 这取决于您是否需要注释掉的功能,以及您想要使用哪个滑块和日期选择器。大概你知道从哪里得到你需要的代码。

至少解决了原来的问题 - 所有js文件都在页面源中。

如果你想让我检查其他任何东西,我可能需要一个数据库转储。我使用的是默认WordPress安装中的内容,我可能需要您的内容才能确切了解正在发生的事情。

另一件事 - 你似乎在某个地方有一个无与伦比的PHP标签。当我查看来源时,我会在内容之前看到?>

这是我最新的wpps_theme_styles()

function wpps_theme_styles() {
    wp_register_style( 'bootstrapcss', get_template_directory_uri().'/css/bootstrap.min.css' );
    wp_register_style( 'maincss', get_template_directory_uri().'/css/main.css' );
    wp_register_style( 'plugins', get_template_directory_uri().'/css/plugins.css' );
    wp_register_style( 'themes', get_template_directory_uri().'/css/themes.css' );
    wp_register_style( 'custom_themes', get_template_directory_uri().'/css/custom.css' );
    //wp_register_style( 'googlefonts' ), ;

    wp_enqueue_style('bootstrapcss');
    wp_enqueue_style('maincss');
    wp_enqueue_style('plugins');
    wp_enqueue_style('themes');
    wp_enqueue_style('custom_themes');
    //wp_enqueue_style('googlefonts','');



    wp_register_script( 'wppsmodernizr', get_template_directory_uri().'/js/vendor/modernizr-2.7.1-respond-1.4.2.min.js', array(),                         false, false );

    wp_register_script( 'bootstrapmin',  get_template_directory_uri().'/js/vendor/bootstrap.min.js',                     array('jquery'),                 false, true );
    wp_register_script( 'app',           get_template_directory_uri().'/js/app.js',                                      array('jquery', 'bootstrapmin', 'plugins', 'jquery-ui-slider', 'jquery-ui-datepicker'), false, true);

    wp_register_script( 'plugins',       get_template_directory_uri().'/js/plugins.js',                                  array('jquery'),                 false, true);
    wp_register_script( 'formwizard',    get_template_directory_uri().'/js/pages/formsWizard.js',                        array('jquery'),                 false, true );
    wp_register_script( 'custom',        get_template_directory_uri().'/js/pages/custom.js',                             array('jquery'),                 false, true );

    wp_enqueue_script('jquery'); // Built in version
    wp_enqueue_script('jquery-ui-draggable'); // Built in version
    wp_enqueue_script('jquery-ui-slider'); // Built in version
    wp_enqueue_script('jquery-ui-datepicker'); // Built in version

    wp_enqueue_script('wppsmodernizr');

    wp_enqueue_script('bootstrapmin');
    wp_enqueue_script('app');

    wp_enqueue_script('plugins');
    wp_enqueue_script('formwizard');
    wp_enqueue_script('custom');
}