2011-12-11 30 views
1

2つのwordpressプラグインを作成していて、どちらもjquery 1.6を使用しています。次のコードを使用してプラグインを読み込みます。複数のwordpressプラグインでのJqueryの競合の問題

プラグインの1

function sheader() { 
$plugin_dir = WP_PLUGIN_URL . "/"; 
?> 
     <script type="text/javascript" src="<?php echo $plugin_dir; ?>isearch/js/jquery-1-6.js" ></script> 
<?php 
} 

add_action('wp_head', 'sheader'); 

プラグイン2

function nheader() { 
$plugin_dir = WP_PLUGIN_URL . "/"; 
?> 
     <script type="text/javascript" src="<?php echo $plugin_dir; ?>isearch/js/jquery-1-6.js" ></script> 
<?php 
} 

add_action('wp_head', 'nheader'); 

私は、両方のプラグインで同じファイルを使用しておりますので、plgin 1は動作しません。プラグイン2を無効にすると、正しく動作します。

どうすればこの問題を解決できますか?

答えて

2

jqueryを組み込む方法には、2回ロードする方法が含まれています。他のほとんどのプラグインはenque APIを使用しているためです。 jquery依存関係を含むwp_enqueuetoを必ず使用してください。すでにロードされているかどうかをチェックします。

<?php class arevico_facebook{ 
function __construct(){ 
    add_action('wp_enqueue_scripts', array(&$this,'append_javascript')); 
} 

function append_javascript(){ 
    wp_enqueue_script("jquery"); 
}} 
?> 

コードは、私のプラグインから取得されます: http://wordpress.org/extend/plugins/facebook-page-promoter-lightbox/

関連する問題