作成したオリジナルテーマ自体が既にjqueryが入っていて、そのうえ、pluginでprettphotoやlightboxやfancyboxを入れようとすると、うまく動かない。

もともとのオリジナルテーマがもってるjqueryとpluginでいれるjqueryが競合しているんだなぁと思って、いろいろ対策をしてみた。

1.pluginのjqueryを読み込ませない。

functions.phpに以下のソースを埋め込んで、読み込ませないようにした。

[php]

function load_cdn() {
if ( !is_admin() ) {
wp_deregister_script(‘jquery’);
}
}
add_action(‘init’, ‘load_cdn’);

[/php]

if(!is_admin())で、管理画面ではちゃんとjquery読ませるのがポイント。

だけど、うまく動かなかった……。

2.テーマに直で読ませているjqueryを削除する

これもうまくいかなかった……。

3.plugin「FancyBox for WordPress」を使用する。

FancyBox for WordPress」です。
このpluginの嬉しかったところは、設定で「トラブルシューティング設定」というのがあって、「jQueryの起動スキップ。jQueryが2度起動される場合だけ使用 (初期値: off) 」にチェックを入れると競合を防ぐことができるということ。

1のjqueryの読み込みをやめさせるのをやめて、このチェックをしたら競合せずに動くようになりました。

1.の設定をした「FancyBox for WordPress」の使用では、競合して動きませんでした。1.のjqueryの読み込みをやめさせるのと、3.のjQueryの起動のスキップとではどう違うのだろう……。