2012-01-09 57 views
1

即将启动一个WordPress网站,但已经注意到,它目前加载在两个jQuery文件中,一个在wp-includes中,另一个来自我的header.php,有没有一种方法可以让wordpress加载wp-include在前端?做了相当多的搜索,只有提到这似乎包括以下代码,但我找不到任何有关它的文档,任何想法?WordPress的:在网站上只加载一个jQuery脚本

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

回答

4

由于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'); 
} 
+0

谢谢你看起来很棒,很我正确认为这将在我的主题functions.php?非常感谢! – Nick 2012-01-11 12:34:12

+0

没问题。你说得对,这是你的主题function.php – JimSteinhart 2012-01-12 10:05:39

0

你需要在你的header.php

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

<?php wp_head(); ?>之前,下面的代码,你可以删除其他的jQuery从header.php中

+0

谢谢,不过这似乎jQuery中最后这反过来又意味着,我的其他脚本没有正确初始化,它们被包含在头为“”有什么想法? – Nick 2012-01-09 11:05:38

+0

加入这一行脚本包括前 – 2012-01-09 11:06:48

+0

我现在有这似乎并没有工作如下:' <?php wp_head(); ?> ' – Nick 2012-01-09 11:16:30

0

除了什么亚兰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加载之后。

0

其实,你需要使用admin_init挂钩,使其在管理部分工作:

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

add_action('admin_init', 'jquery_for_admin'); 
相关问题