多个wordpress插件中的Jquery冲突问题

时间:2011-12-11 03:11:25

标签: jquery wordpress wordpress-plugin

我写了两个wordpress插件,都使用了jquery 1.6。我使用以下代码加载插件。

插件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时,它可以正常工作。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

包含jquery的方式,它包括加载它两次的可能性!由于大多数其他插件使用enque api。确保使用wp_enqueueto包含任何jquery依赖项。它将检查它是否已经全部加载。

<?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/