説明
wp_enqueue_style() は、CSSファイルをWordPressの読み込みキューに追加する関数です。link タグを直接書かず、この関数で読み込むのが基本です。
基本構文
wp_enqueue_style( string $handle, string $src = '', string[] $deps = array(), string|bool|null $ver = false, string $media = 'all' ): void
引数
$handle:スタイルの識別名$src:CSSファイルのURL$deps:先に読み込むスタイルのハンドル$ver:バージョン(キャッシュ対策)$media:メディア指定(allなど)
戻り値
戻り値はありません。
使い方(サンプル)
function my_enqueue_styles() {
wp_enqueue_style( 'my-style', get_stylesheet_uri(), array(), '1.0.0' );
}
add_action( 'wp_enqueue_scripts', 'my_enqueue_styles' );
注意点
- 必ず
wp_enqueue_scriptsフック(管理画面ならadmin_enqueue_scripts)の中で呼びます。 $verにfilemtime()の値を渡すと、更新時にキャッシュが自動で切り替わります。- 同じハンドルを二重に登録しても、1回しか出力されません。
実務での使いどころ
- テーマやプラグインのCSSを読み込むとき。
wp_enqueue_scriptsフックの中で呼ぶ。 - 特定のページだけで、CSSを読み込むとき(
is_page()などの条件分岐の中で呼ぶ)。 - 他のスタイルシートに依存するCSSを、正しい順序で読み込むとき(
$deps)。
よくあるミスと対処
header.phpに<link>を直接書いている。依存関係の管理ができず、同じCSSが二重に読み込まれることもある。- バージョン(第4引数)を指定していない。省略するとWordPress本体のバージョンが付くため、CSSを更新しても、ブラウザのキャッシュが残ることがある。
- 子テーマのCSSを、親テーマより先に読み込み、上書きが効かない。依存(
$deps)に、親テーマのハンドルを指定する。 wp_enqueue_scriptsフックを使わずに、直接呼び出している。
NG例
wp_enqueue_style( 'my-style', get_theme_file_uri( '/css/main.css' ) ); // フックの外で呼んでいる
OK例
add_action( 'wp_enqueue_scripts', function () {
wp_enqueue_style( 'my-style', get_theme_file_uri( '/css/main.css' ), array(), '1.0.0' );
} );
使い分け早見表
| 関数 | 役割 |
|---|---|
wp_register_style() |
スタイルシートを登録するだけ(読み込みはしない) |
wp_enqueue_style() |
読み込みを予約する(URLを渡せば、登録も同時に行う) |
wp_add_inline_style() |
インラインのCSSを追加する |
関連項目
wp_register_style()、wp_enqueue_script()、wp_add_inline_style()
公式リファレンス:wp_enqueue_style() | Function | WordPress Developer Resources

コメント