wp_register_styleとwp_enqueue_styleの使い方とその違いとはの続きです。前回は、WordPressでのCSSの登録を行う関数の紹介と使用方法しました。wp_deregister_style()とwp_dequeue_style()は、WordPressに登録してあるCSSの解除を行う関数になります。

wp_deregister_styleとは

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

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

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

wp_dequeue_styleとは

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

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

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

wp_deregister_styleとwp_dequeue_styleの違い

wp_deregister_style()とwp_enqueue_style()の違いは、登録されているCSSの解除に違いがあります。wp_register_styleで登録してあるJavascriptは、wp_dequeue_styleで解除できないといったことです。なので登録してあるときに使われたものがwp_register_style()なのかwp_enqueue_style()なのかを判断して使い分ける必要があります。

wp_deregiser_styleのコードサンプル

wp_deregister_style()を使って管理画面のCSSを変更する例です。

function deregister_admin_style() {
    wp_deregister_style('wp-admin');
    wp_register_style('wp-admin', get_template_directory_uri().'/admin/css/admin-style.css');
    wp_enqueue_style('wp-admin');
}
add_action('admin_enqueue_script', 'deregister_admin_style');

wp_deregister_script()でやった例と似てますが、動きとしては、wp_deregister_style()で「wp-admin」のハンドル名を解除してwp_register_style()で新たに登録しています。

まとめ

今回はWordPressのテーマやプラグインでCSSの解除を行うwp_deregister_style()とwp_dequeue_style()を紹介しました。WordPressでCSSの解除を行うと同様な形でJavascriptの解除を行うwp_deregister_scriptとwp_dequeue_scriptの使い方とその違いとはもあるのでこちらも見てあなたのテーマ開発に生かしてください。