log

WordPress の jQuery をオリジナルの jQuery に差し替える

WordPressjQueryprototype.js との併用で問題を起こさないようにしてるのか、jQuery で $ を使わないようにしている。そのため、WordPress で生成されるページ上の $ は jQuery ではない。どうやって使わないようにしているのかというと、元の jQuery をいじって、そのいじった jQueryWordPress に含めて配布している。

これだと、$ が jQuery であることを前提としたJavaScript のライブラリが動かないので、互換性とかどうでもいいから $ を jQuery にしたいということがある。

その場合、いじる前のオリジナルの jQuery を使うようにすればいい。じゃあどうすればいいかというと、以下のコードを functions.php とかに書けば、WordPress が使用している jQuery と同じバージョンのオリジナルの jQuery を CDN から持ってこれます。

add_action( 'wp_enqueue_scripts', 'change_to_original_jquery' );
function change_to_original_jquery() {
    global $wp_scripts;
    $jquery_version = $wp_scripts->registered['jquery']->ver;
    wp_deregister_script( 'jquery' );
    wp_enqueue_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/' . $jquery_version . '/jquery.min.js', array(), $jquery_version );
}

一応注意としては、上記のコードはフロントページだけにしか作用しないので、管理画面では $ は jQuery じゃないままです。今のところ私は必要ないので、管理画面でも動くコードは載せれないです。