Jquery конфликт проблема в нескольких плагинов WordPress - PullRequest
1 голос
/ 11 декабря 2011

Я написал 2 плагина 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');

Поскольку я использую один и тот же файл в обоих плагинах, плагин 1 не работает. когда я деактивирую плагин 2, он работает правильно.

Как я могу решить эту проблему ??

1 Ответ

2 голосов
/ 11 декабря 2011

То, как вы включаете jquery, включает в себя возможность загрузить его дважды! Так как большинство других плагинов используют enque api. Убедитесь, что вы используете wp_enqueue, чтобы включить любую зависимость 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/

...