由于某种原因,我似乎无法将外部JS文件排队。我可以将外部css文件排队,但不能将JS文件排队。我有一个使用引导css框架的自定义主题。我的职能。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,当我将脚本添加到页脚时,它就可以工作了。php它可以工作。
SO网友:Abhik
使用外部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时,它会自动将其排在脚本之前。