2012-01-17 92 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安裝!