WordPressに同梱されているファイルのjQueryではなくcdnを読み込む
jquery-migrateも読み込む
WordPress3.8.1だとブログ公開ページのjQueryの読み込みは、
<script type='text/javascript' src='http://blog.wordpress38ja2.local/wp-includes/js/jquery/jquery.js?ver=1.10.2'></script> <script type='text/javascript' src='http://blog.wordpress38ja2.local/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.2.1'></script>
となっていて、ローカルから読み込むようになっている。この状態をcdnに変更する。
add_action('wp_enqueue_scripts', 'include_cdn_jquery'); function include_cdn_jquery() { wp_deregister_script('jquery'); // デフォルトの読み込みを解除 // 新規に読み込むスクリプトを配列化 $js = array( 'jquery' => 'http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js', 'jquery_migrate' => 'http://code.jquery.com/jquery-migrate-1.2.1.min.js', ); // 読み込み処理 foreach( $js as $key => $value ) { wp_register_script( $key, $value, false, null, false ); wp_enqueue_script( $key ); } }
wp_enqueue_scriptsアクションフックに関連付けることで、ブログ公開ページのjQueryの読み込みを置き換えている。wp_enqueue_scriptsを利用すれば管理側のスクリプト読み込みに影響を与えることはない。
上の設定によりインクルードするスクリプトは下のようになる。
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js'></script> <script type='text/javascript' src='http://code.jquery.com/jquery-migrate-1.2.1.min.js'></script>