2013-05-17 181 views
0

我正在運行腳本我把它變成了一個WordPress插件。它作爲一個獨立的應用程序在WordPress之外工作,它在本地作爲一個WordPress插件工作。WordPress的jQuery衝突

我現在正在嘗試它的實時網站,它不工作。爲什麼我得到jQuery錯誤沒有任何意義 - 特別是當我的測試服務器上的活動服務器上有重複內容時,其中一個工作正常,另一個不工作。

任何建議是有幫助的。

http://mapleleafshotstove.com/2013/05/17/lazy-long-weekend-friday-links/ - 插件是評論系統。

791到897行是我遇到問題的腳本。

<script type="text/javascript"> 
var alerts = 0, total = 192; 
jQuery.noConflict(); 
jQuery(document).ready(function() { 
    ... 
}); 
</script> 

它看起來像我得到的錯誤是jQuery(...)。元數據是不是一個函數。這意味着它不喜歡我正在使用的http://archive.plugins.jquery.com/project/metadata插件。

+1

你可以減少問題的一個小的可重複的例子? – cadrell0

+0

是的,我發佈爲上面的修改。它看起來像元數據插件不是很受歡迎。 'jQuery('。options ul li.reply',body).metadata()。id;' – Tim

回答

1

WordPress是在noConflict模式下默認運行的,所以不要再打電話noConflict(),只使用,保持爲jQuery的dollarsign值的適當DOM就緒功能:

<script type="text/javascript"> 
var alerts = 0, total = 192; 
jQuery(function($) { 
     // do what you normally do 
     var id = $('.options ul li.reply').metadata().prop('id'); 
}); 
</script> 

,並添加腳本您插件與:

wp_register_script('myscript', plugins_url('/js/myscript.js', __FILE__), array('jquery')); 
wp_enqueue_script('myscript'); 
+0

Be there and done that。在第一批中,它沒有奏效。我比嘗試'noConflict()' - 爲什麼這個工作在一臺服務器上而另一臺服務器上。是我發現奇怪的。 – Tim

+0

好吧,在發佈的頁面上,我的控制檯像聖誕樹一樣點亮,所以很難說你應該首先檢查哪一個錯誤? – adeneo

+0

我有另一種獲取數據的方法 - 我將完全避免使用元數據插件。我注意到所有其他的錯誤,在我安裝之前,感謝您的幫助! – Tim