使用wp_enqueue_script的WordPress问题

时间:2010-03-25 08:53:02

标签: javascript wordpress

我试着用wp_enqueue_script来加载我的javascript,这是我的代码:

<?php wp_enqueue_script('slider','/wp-content/themes/less/js/slider.js',array('jquery'),'1.0'); ?>

这不起作用,当我查看来源时,它变成了:

<script type='text/javascript' src='http://localhost/wp/wp-content/themes/less/js/slider.js?ver=2.9.2'></script> 

?ver = 2.9.2会自动添加到最后,我想这就是原因,我该如何解决呢。

4 个答案:

答案 0 :(得分:9)

Wordpress的文档在这方面的记录很少。

在倒数第二个参数中从false更改为null以删除?ver=2.9.2

答案 1 :(得分:5)

要删除版本参数,您需要额外的过滤器。这就是我在没有查询字符串的情况下使用Google的jQuery的方式:

<?php
// Use the latest jQuery version from Google
wp_deregister_script('jquery');
wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js', false, false);
wp_enqueue_script('jquery');

add_filter('script_loader_src', 'toscho_script_loader_filter');

function toscho_script_loader_filter($src)
{
    if ( FALSE === strpos($src, 'http://ajax.googleapis.com/') )
    {
        return $src;
    }
    $new_src = explode('?', $src);

    return $new_src[0];
}
?>

您甚至可以使用最后一个过滤器添加自己的查询变量。

通常查询字符串不应该影响您的脚本。我删除它只是为了增加用户使用此文件的缓存版本的可能性。

答案 2 :(得分:2)

如果您使用的是Wordpress 3.0,则可以使用null作为第四个参数。这将有效地删除该版本。

答案 3 :(得分:1)

将您的代码更改为:

<?php wp_enqueue_script('slider','/wp-content/themes/less/js/slider.js',array('jquery'),null); ?>