2012-01-17 76 views
0

我在WordPress的后端,试图创建一个metabox。我把这个代码在metabox的顶部,这样我可以使用一些jQuery来创建它:在WordPress后端加载jQuery出现错误:“jQuery没有定义”

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

我得到一个“没有定义jQuery的”错误。我试了一下更改为$的欢迎,并得到同样的错误 - “没有定义$”

编辑:我实际的jQuery代码如下所示:

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $('#add_person').click(function(){  
      $('#management').append('<div class="person"><a href="#" class="remove_person button">Remove Person</a>' + '<p><label for="_name">Name</label><br/>' + '<input type="text" id="_name" name="_name[]" size="25" /></p></div>'); 
      return false; 
     }); 
     $('.remove_person').live('click',function() { 
      $(this).parent().remove(); 
      return false; 
     }); 
    }); 
</script> 

这究竟是为什么?我检查了开发人员(铬扩展)和jQuery被列为资源,所以它是承认它,但我仍然得到这个错误。有什么想法吗?

谢谢!

+1

你确定这是正确的注销和重新入队的地方吗?另外:由于jQuery已经包含在后端,是否有一个特别的原因,你想重新注册谷歌API版本?为什么不使用内置的?无论如何,使用开发人员(或任何其他工具),确保jQuery不包含两次。 – 2012-01-17 15:50:48

+0

那么,我把代码放在第一位的原因是因为我总是得到那个错误(“jQuery没有定义”)。我想可能在后端注册会有所帮助,但仍然会出现错误。 – jasonaburton 2012-01-17 16:06:31

回答

0

如果您在资源区域看到jquery.min.js,并且获得jQuery is undefined error,那通常意味着jQuery将被包含在比您的代码更靠近页面的位置。

+0

我的代码中没有提到jQuery的其他地方。在后端会叫什么名字? – jasonaburton 2012-01-17 16:28:23

+0

我能够在资源中看到jquery.min.js的唯一方法是在我的示例中添加上面的代码 – jasonaburton 2012-01-17 16:28:52

+0

查看页面的html并查找脚本,然后查找jQuery脚本。 jQuery脚本是第一位的,还是你的。 (查看源代码) – 2012-01-17 16:29:47

0

FTP到您的站点并打开您的wp-config.php文件。

加入这一行:

define('CONCATENATE_SCRIPTS', false); 

确保你之前补充一点:

/** Absolute path to the WordPress directory. */ 
if (!defined('ABSPATH')) 
     define('ABSPATH', dirname(__FILE__) . '/'); 

希望这可以帮助你节省一天的你的WordPress安装!