2012-09-10 10 views
7

私はしばらくの間WordPressのプラグインを開発していましたが、私は常にすべての私のプラグインで次の問題を抱えているようです。WordPressのプラグインでjqueryの競合を避けるための弾圧方法

私はこれらを避けるために非常に多くの異なる方法を試みましたが、私はいつも私のプラグインからプラグインをインストールしたときに、別のプラグインがaahhhhhを停止したと言ってユーザーに連絡します。

私は本当にこれが人にとっていかにイライラさせるのか理解しているので、これを並べ替えたいと思っています。

私は常にwordpresses jqueryを設定してオプションを指定するか、以下のコードは動作しないコードです。

add_action('init', array($this, 'include_jquery')); 

function include_jquery(){ 

        wp_deregister_script('jquery'); 
        wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"), false, '1.7.1'); 
        wp_enqueue_script('jquery'); 

      } 

[OK]をこれで問題が発生した後、私は今、私はそれが自動的にインストールされて知っているが、一部のユーザーがこれを削除し、これは一部の人のために働くのjQueryを含めるかしないかをyesまたはnoを切り替えないためのプラグイン管理で選択したオプションを持っているので、すべてではありません。

あなたは、私はあなたのjqueryを実行する必要があることを知っているWordPressのjqueryが含まれている場合。代わりにドルの

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

jQueryを私は理解し、他の人と同じように、いくつかのすべてではないにオフこれら http://api.jquery.com/jQuery.noConflict/

$.noConflict(); 
    jQuery(document).ready(function($) { 
    // Code that uses jQuery's $ can follow here. 
    }); 

これをjqueryのノーコンフリクトを使用していないし、しようとしたテストした$

サインいくつかのユーザーでは動作しますが、特定のユーザーとの間で競合が発生するユーザーはいません。

私はこのポストから私たちのいくつかのワードプレスプラグインの開発者が手伝うとの競合の問題を得ることなく、当社のプラグインの中にワードプレスとjQueryを使用する弾丸の証拠の道を投稿できることを期待しています。

ありがとうございました

答えて

7

クロージャでは機能しませんか?

(function($){ 
    // your plugin code 
})(jQuery); 
+1

これは間違いなく動作しますが、私は質問にハッスルを得ることはありませんか?ウィンドウを追加して、自己呼び出し関数の引数として未定義にしてください。 – jOpacic

関連する問題