jQuery无法在Wordpress中运行

时间:2011-08-28 03:19:49

标签: jquery wordpress

我正在使用测试环境来尝试让jquery在wordpress中工作,安装版本是3.2.1,主题是2010(尽管我在几个不同的主题中尝试了这个,结果相同)。没有安装插件。

基本上我把它放在头文件中,看看我是否可以让jQuery工作。

<script type="text/javascript">
jQuery(document).ready(function(){
alert('test');
    });
</script>

也试过这个

jQuery(document).ready(function($){

和这个

$j=jQuery.noConflict(); 
// Use jQuery via $j(...)
$j(document).ready(function(){
  alert('test');
});

我无法在页面加载时显示警报。当我检查firebug时,脚本已加载。

jQuery在不与WP结合使用时工作正常,并且在WP之外测试的所有脚本都按预期执行。

它应该在WP 3.2.1中有效吗?我该怎么办?

7 个答案:

答案 0 :(得分:4)

您是否添加了实际的jQuery脚本文件?

有很多方法可以做到这一点,但我通常使用以下方法将此代码包含在functions.php文件中。

<?php
    function add_jquery() {
       wp_enqueue_script( 'jquery' );
    }    

    add_action('init', 'add_jquery');
?>

这也是更多jQuery + Wordpress使用的好资源:http://www.ericmmartin.com/5-tips-for-using-jquery-with-wordpress/

答案 1 :(得分:0)

确保WP本身(或其他已安装的插件)没有与您冲突的嵌入式jQuery版本。查看页面源并确保只加载了一个jQuery版本。应该没有问题。

答案 2 :(得分:0)

通过使用wp_enqueue_script,您确定jQuery库已加载ONCE。您可以看到here如何加载JS文件。

答案 3 :(得分:0)

除了Paul Sham提到的绝对正确的方法之外,以下方式也很有帮助,也可以在THIS链接中进行描述。

function include_jQuery() {
    if (!is_admin()) {
        // comment out the next two lines to load the local copy of jQuery
        wp_deregister_script('jquery'); 
        wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js', false, '1.8.3'); 
        wp_enqueue_script('jquery');
    }
}
add_action('init', 'include_jQuery');

答案 4 :(得分:0)

我找到了另一个,在脚本的开头写下了这个。 $ = jQuery.noConflict();

答案 5 :(得分:-1)

修改

以下答案旨在作为有关如何将jQuery添加到Wordpress的分步说明。 我只是要求他检查并查看它是否已经存在,然后我告诉他“不再包括它”如果它已经存在了。

正如评论中所提到的, wp_enqueue_script is the absolute best way to add jQuery to Wordpress,无论何时需要添加jQuery


当然jQuery在Wordpress中运行,但我不确定它是否已默认包含在Twenty-Ten主题中。检查脚本是否包含标签。在你可以调用任何使用jQuery的JavaScript之前,你需要在标题的某个地方使用这样的东西......

<script type='text/javascript' src='/jquery.js?ver=1.6.1'></script>

(确保您不会包含多次或多个版本。)

答案 6 :(得分:-1)

if( !is_admin()){
  wp_deregister_script('jquery');
  wp_register_script('jquery',       ("http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"), false, '1.3.1');
  wp_enqueue_script('jquery'); 
}

将此代码放在当前wordpress中theame的function.php文件之间