我不是一名开发人员,但我有一个主题,它告诉我错误的wp\\u enqueue\\u脚本被错误调用。在wp\\u enqueue\\u脚本、admin\\u enqueue\\u脚本或login\\u enqueue\\u脚本挂钩之前,不应注册或排队脚本和样式。
我已经阅读了一些解决方案,其中他们建议更改为:
function ppibfi_enqueue_scripts() {
wp_enqueue_script( \'jquery\' );
wp_enqueue_script( \'thickbox\' );
wp_enqueue_script( \'media-upload\' );
}
function ppibfi_enqueue_styles(){
wp_enqueue_style( \'thickbox\' );
}
add_action( \'wp_enqueue_scripts\', \'ppibfi_enqueue_scripts\' );
add_action( \'wp_enqueue_scripts\', \'ppibfi_enqueue_styles\' );
但我网站中的代码并不是以相同的函数开头的,它只是声明:
//load scripts
wp_enqueue_script(\'smoothscroll\', get_bloginfo(\'stylesheet_directory\').\'/includes/js/smoothscroll.js\', array(\'jquery\'), \'\');
//wp_enqueue_script(\'carrosel\', get_bloginfo(\'stylesheet_directory\').\'/js/infinite-carousel.js\', array(\'jquery\'), \'\');
wp_enqueue_script(\'marker\', get_bloginfo(\'stylesheet_directory\').\'/includes/map/js/marker.js\', array(\'jquery\'), \'\');
//wp_enqueue_script(\'carrouse\', get_bloginfo(\'stylesheet_directory\').\'/includes/js/carrousel.js\', array(\'jquery\'), \'\');
wp_enqueue_script(\'tinycar\', get_bloginfo(\'stylesheet_directory\').\'/js/jquery.tinycarousel.min.js\', array(\'jquery\'), \'\');
and
// fix google map in the header issue
function googlemaphome() {
if ( is_front_page() ) {
wp_register_script (\'googlemaps\', \'http://maps.google.com/maps/api/js?&sensor=false\', false, \'3\');
}
}
add_action(\'wp_enqueue_scripts\', \'googlemaphome\');
and
add_action( \'wp_enqueue_scripts\', \'jt_style_changer\' );
//load the responsive style
function responsive_styles()
{ wp_enqueue_style(\'responsive\', get_stylesheet_directory_uri() . \'/styles/responsive.css\',false,\'1.0\',\'all\');}
add_action(\'wp_print_styles\',\'responsive_styles\');
有人知道如何重写以避免出错吗?任何帮助都将不胜感激,因为我不是开发人员。
最合适的回答,由SO网友:anton 整理而成
当然我不能准确地回答你,因为我没有看到完整的函数。php代码
您可以使用wp_enqueue_scripts 动作挂钩,脚本和样式
不呼叫wp_enqueue_script
和wp_enqueue_style
外部wp_enqueue_scripts
钩
add_action(\'wp_enqueue_scripts\', \'wp_enqueue_scripts_callback\');
function wp_enqueue_scripts_callback(){
wp_enqueue_script( \'jquery\' );
wp_enqueue_script( \'thickbox\' );
wp_enqueue_script( \'media-upload\' );
wp_enqueue_script(\'smoothscroll\', get_bloginfo(\'stylesheet_directory\').\'/includes/js/smoothscroll.js\', array(\'jquery\'), \'\');
wp_enqueue_script(\'marker\', get_bloginfo(\'stylesheet_directory\').\'/includes/map/js/marker.js\', array(\'jquery\'), \'\');
wp_enqueue_script(\'tinycar\', get_bloginfo(\'stylesheet_directory\').\'/js/jquery.tinycarousel.min.js\', array(\'jquery\'), \'\');
wp_enqueue_style( \'thickbox\' );
if ( is_front_page() ) {
wp_register_script (\'googlemaps\', \'http://maps.google.com/maps/api/js?&sensor=false\', false, \'3\');
}
wp_enqueue_style(\'responsive\', get_stylesheet_directory_uri() . \'/styles/responsive.css\',false,\'1.0\',\'all\');}
}
只需确保您将其按正确的顺序排列,因为脚本有依赖项。
//here we enqueue jquery
wp_enqueue_script( \'jquery\' );
//as example this script has jquery dependency
wp_enqueue_script(\'smoothscroll\', get_bloginfo(\'stylesheet_directory\').\'/includes/js/smoothscroll.js\', array(\'jquery\'), \'\');
此外,如果希望划分脚本和样式,可以创建多个回调函数。这是你的选择。
function wp_enqueue_scripts_callback(){
//wp_enqueue_script here
}
function wp_enqueue_styles_callback(){
//wp_enqueue_style here
}
add_action(\'wp_enqueue_scripts\', \'wp_enqueue_scripts_callback\');
add_action(\'wp_enqueue_scripts\', \'wp_enqueue_styles_callback\');