wp_register_scriptとwp_enqueue_scriptの使い方とその違いとはの続きです。前回は、WordPressでのJavascriptの登録を行う関数の紹介と使用方法しました。wp_deregister_script()とwp_dequeue_script()は、WordPressに登録してあるJavascriptの解除を行う関数になります。
wp_deregister_scriptとは
wp_deregister_script()は、WordPress本体やプラグイン等でwp_register_script()であらかじめ登録されているJavascriptのフックを解除するための関数になります。
wp_deregister_script($handle);
引数 | 型 | 説明 | デフォルト | 必須 |
---|---|---|---|---|
$handle | string | 解除する識別名 | なし | ○ |
wp_register_script()と違ってwp_deregister_scirpt()はひとつしか引数がありません。唯一の引数である$handleは解除したい識別名を書きます。
wp_dequeue_scriptとは
wp_dequeue_script()は、WordPress本体やプラグイン等でwp_enqueue_script()であらかじめ登録されているJavascriptのフックを解除するための関数になります。
wp_dequeue_script($handle);
引数 | 型 | 説明 | デフォルト | 必須 |
---|---|---|---|---|
$handle | string | 解除する識別名 | なし | ○ |
wp_enqueue_script()と違ってwp_dequeue_scirpt()はひとつしか引数がありません。唯一の引数である$handleは解除したい識別名を書きます。
wp_deregister_scriptとwp_dequeue_scriptの違い
wp_deregister_script()とwp_enqueue_script()の違いは、登録されているJavascriptの解除に違いがあります。wp_register_scriptで登録してあるJavascriptは、wp_dequeue_scriptで解除できないといったことです。なので登録してあるときに使われたものがwp_register_script()なのかwp_enqueue_script()なのかを判断して使い分ける必要があります。
wp_deregiser_scriptのコードサンプル
WordPressのJQueryを使わずにGoogle Hosted LibrariesからJQueryを読み込む例です。
function register_jquery() {
wp_deregister_script('jquery'); /* 同梱のJQueryを読み込ませない */
wp_register_script('jquery', '//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js', array(), NULL, true); /* Google CDNのJQueryの登録 */
wp_enqueue_script('jquery'); /* 登録したJQueryをフックさせる */
}
add_action('wp_enqueue_scripts', 'register_jquery'); /* 実際のフック */
前回のwp_register_script()の使用例とまったく同じですが、CDNのJQueryを使いたい場合によく使うと思うので使用例とさせて頂きました。
まとめ
今回はWordPressのテーマやプラグインでJavascriptの解除を行うwp_deregister_script()とwp_dequeue_script()を紹介しました。WordPressでJavascriptの解除を行うと同様な形でCSSの解除を行うwp_deregister_styleとwp_dequeue_styleの使い方とその違いとはもあるのでこちらも見てあなたのテーマ開発に生かしてください。