wp_enqueue_script()で重複読み込みも安心

WordPress 日本公式キャラクター 本ブログでも javascript を多用し、 効率化を図る上で外部のライブラリ(プログラム集)を頻繁に利用します。 面白いホームページ上の機能を紹介するときなど 外部ライブラリは必須であることも多くあります。 jQuery の名前は本ブログにもしばしば登場する定番のライブラリです。

このようにWebサイト運営には今や外部ライブラリ読み込みは必須です。 ホームページを作成するときの定番 WordPress(ワードプレス)に於いても話は同じです。 WordPress ではまたプラグインも多用します。 本体にちょっとした機能を後付するのにとても便利です。 このプラグインが外部ライブラリを使用することがあります。 プラグインのインストールと共に外部ライブラリの読み込みは設定され、 それは wp_head() の命令時に実行されます。

ではこのプラグインとは別に外部ライブラリを読み込みたい時にはどうすればいいでしょうか? 下手をすれば同じ外部ライブラリの バージョンの異なるものを読み込んでしまうこともあるかも知れません。 この時よしなにはからってくれる命令文が WordPress には用意されています。 それが wp_enqueue_script() です。 この括弧内に引数を置き wp_head() の前に記述してやれば後は例え重複していようとも WordPress が問題の無いように上手く処理してくれます。 例えば上に出た jQuery をプラグインが読み込んでいるかどうかに関わらず、 読み込ませたいことを WordPress に伝えるには以下の様に記述します。

wp_enqueue_script('jquery')
実際に jQuery を利用するプラグインをインストールした WordPress で この命令文を記述したときには以下
<script type='text/javascript' src='http://hoge.jp/wp-includes/js/jquery/jquery.js?ver=1.4.4'></script>
一箇所でのみ 出力されました。 但し、jQueryを利用するときは注意が必要な場合もあり、うまく動かない場合は WordPressで自作のjQueryスクリプトを実行する方法 が参考になるかも知れません。

※ なお、ここで動作確認している WordPress のバージョンは 2011年6月時点の 3.1 です。 2011年7月時点では最新版の3.2 がリリースされています