Wordpress:在网站上只加载一个jquery脚本

时间:2012-01-09 10:35:20

标签: php jquery wordpress

即将发布一个WordPress网站,但已注意到它目前正在加载两个jquery文件,一个在wp-includes中,另一个来自我的header.php,有没有办法让wordpress加载wp-include一个在前端?做了相当多的搜索,并且唯一提到这似乎包括以下代码,但我找不到任何关于它的文档,任何想法?

<?php wp_enqueue_script("jquery"); ?>

4 个答案:

答案 0 :(得分:5)

从WordPress 3.3开始,使用正确的钩子这是最好的方法:

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');
}

答案 1 :(得分:0)

您需要在header.php

中的<?php wp_head(); ?>之前加入以下代码
<?php wp_enqueue_script("jquery"); ?>

您可以从header.php中删除其他jquery包含

答案 2 :(得分:0)

除了Aram Mkrtchyan所说的内容之外,您还可以使用wp_enqueue_script()将脚本排入队列。

<?php
    wp_enqueue_script('jquery');
    wp_enqueue_script('your_script', "path/to/your/script.js" , array('jquery'));
?>

wp_enqueue_script()的第三个参数告诉WordPress your_script依赖于jquery,因此只有在jquery加载后才加载它。

答案 3 :(得分:0)

实际上,您需要使用admin_init挂钩才能在管理部分中使用它:

function jquery_for_admin() {
  wp_enqueue_script('jquery');
  return;
}

add_action('admin_init', 'jquery_for_admin');