由于某些原因,我似乎无法对外部JS文件进行排队。我可以对外部css文件进行排队,但不能对JS文件进行排队。我有一个使用引导css框架工作的自定义主题。我的functions.php如下:
function add_css_scripts(){
wp_enqueue_style('boot-strap','https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css',false);
wp_enqueue_style('style', get_template_directory_uri() . '/style.css', false, 'all');
wp_enqueue_style('media', get_template_directory_uri(). '/assets/css/media.css', false, all);
}
add_action('wp_enqueue_scripts', 'add_css_scripts');
/*Jquery Scripst*/
function add_js_scripts(){
wp_deregister_script( 'jquery' );
//wp_enqueue_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js', false, '3.3.1', true);
wp_register_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js', false, '3.3.1', true);
wp_enqueue_script('jquery');
wp_register_script('pre', get_template_directory_uri(). '/assets/js/pre.js','1.0.0', array('jquery'), '1.0.0', true);
wp_enqueue_script('pre');
//wp_enqueue_script('bootstrap', 'https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js', array('jquery'), '4.1.0', true);
wp_register_script('bootstrap', 'https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js', array('jquery'), '4.1.0', true);
wp_enqueue_script('bootstrap');
//wp_enqueue_script('popper', 'https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js', array('jquery'), '1.12.9', true);
wp_register_script('popper', 'https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js', array('jquery'), '1.12.9', true);
wp_enqueue_script('popper');
}
add_action('wp_enqueue_scripts','add_js_scripts');所有注释掉的代码都是我尝试过的代码,但是没有工作,wp_deregister('jquery');可以工作,因为我需要jquery 3,当我将脚本添加到我的footer.php中时,它可以工作。
发布于 2019-05-30 15:29:03
而不是使用get_template_directory_uri().'/assets/js/pre.js','1.0.0'
尝试使用get_theme_file_uri('/assets/js/pre.js','1.0.0')
它对我有效,由于某种原因,当使用get_template_directory_uri()时,您将得到一个403错误
发布于 2018-04-16 13:40:54
使用外部jQuery是个坏主意。捆绑的一个被优化以更好地与WordPress一起工作。
对于您的问题,我认为问题在于如何注册外部jquery。在依赖项中使用空数组而不是false。
function add_js_scripts(){
wp_deregister_script( 'jquery' );
wp_register_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js', array(), '3.3.1', true);
wp_enqueue_script('pre', get_template_directory_uri(). '/assets/js/pre.js','1.0.0', array('jquery'), '1.0.0', true);
wp_enqueue_script('bootstrap', 'https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js', array('jquery'), '4.1.0', true);
wp_enqueue_script('popper', 'https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js', array('jquery'), '1.12.9', true);
}
add_action('wp_enqueue_scripts','add_js_scripts'); 另外,您不需要单独地对jquery进行排队。当您将任何依赖于jquery的脚本设置为jquery时,它将自动在脚本之前对其进行排队。
https://wordpress.stackexchange.com/questions/300925
复制相似问题