有人可以帮帮我吗?我的所有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');
答案 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
。
<强>更新强>
感谢您的代码。我已经设置好了(激活了主题和插件)。我没有在控制台中看到任何错误,然后我意识到你在源代码中注释掉了app
和plugins
。我取消了它们的注释,然后我对你提到的那个有了不同的错误:$(...).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
。同样的评论适用于滑块
注释掉引用timepicker
和easyPieChart
的块。没有其他参考。
<强> 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');
}