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);
引数説明デフォルト必須
$handlestring解除する識別名なし

wp_register_script()と違ってwp_deregister_scirpt()はひとつしか引数がありません。唯一の引数である$handleは解除したい識別名を書きます。

wp_dequeue_scriptとは

wp_dequeue_script()は、WordPress本体やプラグイン等でwp_enqueue_script()であらかじめ登録されているJavascriptのフックを解除するための関数になります。

wp_dequeue_script($handle);
引数説明デフォルト必須
$handlestring解除する識別名なし

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の使い方とその違いとはもあるのでこちらも見てあなたのテーマ開発に生かしてください。