概要
wp_dequeue_style
アクションは、出力用のキューに入っているスタイルシートを取り除くために使用されます。このアクションは、特定のページやコンディションにおいてCSSを最適化するために非常に便利です。主に以下のような機能実装に利用されます。
- 不要なスタイルの削除
- プラグインやテーマが読み込むデフォルトのスタイルを無効化
- ページごとのCSSの微調整
- 古いスタイルの競合を解消
- パフォーマンス向上のための最適化
- モバイル専用CSSの適用
- チャイルドテーマでの親テーマスタイルの無効化
- 特定の条件下でのスタイルの動的削除
構文
wp_dequeue_style( $handle );
パラメータ
$handle
(string) — 削除したいスタイルシートのハンドル名。
戻り値
- なし
関連する関数
使用可能なバージョン
- WordPress 2.7.0 以降
コアファイルのパス
wp-includes/script-loader.php
サンプルコード
サンプルコード 1: 特定のスタイルシートを取り除く
このサンプルコードは、特定のハンドル名を使用して、不要なスタイルシートを取り除いています。
add_action( 'wp_enqueue_scripts', 'remove_unwanted_styles' );
function remove_unwanted_styles() {
wp_dequeue_style( 'unwanted-style' );
}
サンプルコード 2: プラグインのスタイルを無効化
ここでは、特定のプラグインが自動的に追加するスタイルシートを無効化しています。
add_action( 'wp_enqueue_scripts', 'dequeue_plugin_styles' );
function dequeue_plugin_styles() {
wp_dequeue_style( 'plugin-style-handle' );
}
サンプルコード 3: ページごとのスタイル調整
このサンプルでは、特定のページでのみスタイルを削除しています。
add_action( 'wp_enqueue_scripts', 'remove_style_on_specific_page' );
function remove_style_on_specific_page() {
if ( is_page( 'contact' ) ) {
wp_dequeue_style( 'contact-form-style' );
}
}
サンプルコード 4: タイムラインスタイルの削除
これは、タイムラインページで特定のスタイルを除去する例です。
add_action( 'wp_enqueue_scripts', 'remove_timeline_styles' );
function remove_timeline_styles() {
if ( is_post_type_archive( 'timeline' ) ) {
wp_dequeue_style( 'timeline-style' );
}
}
サンプルコード 5: チャイルドテーマでの親スタイルの無効化
親テーマのスタイルをチャイルドテーマで無効にする場合の例です。
add_action( 'wp_enqueue_scripts', 'dequeue_parent_styles' );
function dequeue_parent_styles() {
wp_dequeue_style( 'parent-style-handle' );
}
この関数のアクションでの使用可能性
使用するアクション | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head | 〇 |