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);
引数 | 型 | 説明 | デフォルト | 必須 |
---|---|---|---|---|
$handle | string | 解除する識別名 | なし | ○ |
wp_register_style()と違ってwp_deregister_style()はひとつしか引数がありません。唯一の引数である$handleは解除したい識別名を書きます。
wp_dequeue_styleとは
wp_dequeue_style()は、WordPress本体やプラグイン等でwp_enqueue_style()であらかじめ登録されているCSSのフックを解除するための関数になります。
wp_dequeue_style($handle);
引数 | 型 | 説明 | デフォルト | 必須 |
---|---|---|---|---|
$handle | string | 解除する識別名 | なし | ○ |
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の使い方とその違いとはもあるのでこちらも見てあなたのテーマ開発に生かしてください。