我已经尝试了我所知道的每一种方式,并且已经阅读过,将jquery库移动到页脚,包括以下内容以及以下各种可能的变体:
function add_scripts() { wp_deregister_script('jquery'); wp_register_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js', false, '1.8.3', true); wp_enqueue_script( 'jquery' ); } add_action('wp_enqueue_scripts', 'add_scripts');
和
wp_enqueue_script('jquery','/wp-includes/js/jquery/jquery.js','','',true);
我不确定这些Wordpress的版本是什么,但它们在最新版本(3.5 - 3.7)中不起作用.当然,可以从script-loader.php文件中取消注册或完全删除jquery,然后将其硬编码到页脚中,但脚本将无法正常工作.WordPress以某种方式阻止它实际加载,即使这样做的代码坐在html中.在有人说这个之前,当我试图在页脚中加载jquery时,之后会加载所有其他的javascript,因此它是在库之前加载jquery依赖脚本的问题.此外,许多人会说在页脚中加载核心脚本并不好,从最佳实践的角度来看,这可能是真的,但这是无关紧要的,因为谷歌希望它在页脚中,这才是真正重要的.任何建议将不胜感激.
这是有效的(在WordPress 3.8上使用Twenty Fourteen主题测试):
function md_footer_enqueue_scripts() { remove_action('wp_head', 'wp_print_scripts'); remove_action('wp_head', 'wp_print_head_scripts', 9); remove_action('wp_head', 'wp_enqueue_scripts', 1); } add_action('wp_enqueue_scripts', 'md_footer_enqueue_scripts');`
脚本将在<body>
标签关闭之前放置,CSS文件将保存在<head>
文档中 - 考虑到它们已经入队wp_enqueue_style
.
wp_enqueue_style(法典参考)