Enque Javascript in Footer?

时间:2013-05-02 作者:AndrettiMilas

我目前对jQuery进行了这样的修改-如何将其移到页脚?

// Enque: jQuery
if (!is_admin()) add_action("wp_enqueue_scripts", "my_jquery_enqueue", 11);
function my_jquery_enqueue() {
   wp_deregister_script(\'jquery\');
   wp_register_script(\'jquery\', "http" . ($_SERVER[\'SERVER_PORT\'] == 443 ? "s" : "") . "://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js", false, null);
   wp_enqueue_script(\'jquery\');
}

2 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

第五个参数是$in_footer. 你把它漏掉了。添加该参数,将其设置为true.

wp_register_script(
  \'jquery\',
  "http" . ($_SERVER[\'SERVER_PORT\'] == 443 ? "s" : "") . "://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js",
  false,
  null,
  true
);
但我赞同安德鲁在评论中表达的担忧。取消注册/替换核心库可能会给自己带来麻烦。

参考文献

http://codex.wordpress.org/Function_Reference/wp_register_script

SO网友:Rarst

wp_register_script() 最后一个参数采用布尔值$in_footer (默认值false) 为了实现这一点。

请注意,强烈认为最佳实践是使用WP核心使用的相同版本(由代码确定),而不是硬编码任意版本。

结束

相关推荐

插件中未执行jQuery AJAX调用

我一直在为我的免费插件制作一个输出“捐赠”表单的类。“No thanks”解雇链接隐藏表单并运行AJAX调用以更新跟踪解雇的WP选项。我在实际启动被调用的PHP函数时遇到了问题。我添加了“success”函数来输出一个echo,该echo是我添加到AJAX调用的PHP函数中的(通常,该函数没有输出,只有WP选项更新),但“data”始终为0,数据库中什么都没有发生。我猜WP由于某种原因实际上无法使用该函数。该函数被声明为public,这实际上起到了作用。我不确定我所做的哪些修改会破坏它。下面是我的jQue