テーマヘッダーについて詳しく知りたい方へ
WordPressテーマヘッダー完全リファレンス
WordPressオリジナルテーマ開発に必須のstyle.cssテーマヘッダー(テーマコメント)の書き方を完全解説。必須項目のTheme Nameをはじめ、全15項目をコード例と注意点付きで詳しく説明します。WordPress.org配布時の要件や重複時の動作も含む開発者向け決定版リファレンス。
前回の記事では、WordPressでスタイルシートを読み込む2つの方法を学習しました。link
タグ直書き方式とwp_enqueue_style
方式を比較し、WordPress推奨のwp_enqueue_style()
を使った方法をマスターしました。
今回は、より実践的な内容として、style.cssとは別のファイルでスタイルを管理する方法と、複数のスタイルシートを効率的に管理する方法について解説します。
今回の目標
目次
前回のようにstyle.cssにスタイルを記述することでページにスタイルを適用できます。しかし、style.cssにはテーマヘッダーが書かれています。
/*
Theme Name: マイ・オリジナルテーマ
*/
h1 {
color: blue;
}
このテーマヘッダーは、WordPressがテーマを認識するために必要な情報です。見られても問題はありませんが、作成者の情報などが書かれているので、見せない方がベターです。
style.cssはテーマフォルダにあればよいだけで、必ずしもページに読み込む必要はありません。実際のページに反映させるスタイルは、別のファイルに書くことができます。
今回は、main.cssファイルを作成してサイトに反映させる方法を学びます。
h1 {
color: red;
}
/*
Theme Name: マイ・オリジナルテーマ
*/
functions.phpを以下のように変更します。
<?php
// 外観→メニューの有効化
add_theme_support( 'menus' );
// スタイルシートの読み込み
add_action('wp_enqueue_scripts', 'load_theme_style');
function load_theme_style() {
wp_enqueue_style(
'theme-main-style',
get_stylesheet_directory_uri() . '/main.css',
array(),
'1.0.0'
);
}
?>
これで、main.cssからスタイルが読み込まれるようになりました。
実際のプロジェクトでは、サイト全体で共通のスタイルをmain.css、特定ページのスタイルをsub.cssのように分けることがあります。
h1 {
color: blue;
}
functions.phpを以下のように変更します。
function load_theme_style() {
wp_enqueue_style(
'theme-main-style',
get_stylesheet_directory_uri() . '/main.css',
array(),
'1.0.0'
);
wp_enqueue_style(
'theme-sub-style',
get_stylesheet_directory_uri() . '/sub.css',
array(),
'1.0.0'
);
}
共通スタイルmain.cssを読み込んだ後で、sub.cssを読み込みたい場合があります。
CSSでは、後から読み込まれたスタイルが優先されるため、読み込み順序が重要です。
wp_enqueue_style
を書いた順番でなく、明確に順番を指定する方法があります。
wp_enqueue_style
の第3引数を使って、依存関係(読み込む順番)を指定できます。
実際の開発現場では、WordPress標準のスタイルを読み込んだ後に、テーマ独自のスタイルを適用することがよくあります。
例えば、WordPressのブロックエディタ(Gutenberg)のスタイルを読み込んだ後で、テーマ独自のカスタマイズを適用する場合
function load_theme_style() {
// WordPress標準のブロックエディタスタイル
wp_enqueue_style('wp-block-library');
// テーマ独自のスタイル(WordPress標準スタイルに依存)
wp_enqueue_style(
'theme-custom-style',
get_stylesheet_directory_uri() . '/custom.css',
array('wp-block-library'),
filemtime(get_stylesheet_directory() . '/custom.css')
);
}
このように、依存関係はプロの開発現場でも頻繁に使用される重要な技術です。特に、プラグインのスタイルやWordPress標準スタイルを基にして、テーマ独自のカスタマイズを行う際には必須の知識となります。
function load_theme_style() {
wp_enqueue_style(
'theme-main-style',
get_stylesheet_directory_uri() . '/main.css',
array(),
'1.0.0'
);
wp_enqueue_style(
'theme-sub-style',
get_stylesheet_directory_uri() . '/sub.css',
array('theme-main-style'),
'1.0.0'
);
}
array('theme-main-style')
と指定することで、「sub.cssはmain.cssに依存します」となり、main.css → sub.cssの順で読み込まれます。
CSSファイルを修正する都度、'1.0.0'
のバージョンを'1.0.1'
、'1.0.2'
と増やしていくことでバージョン管理ができます。
バージョン管理が行われないと、ブラウザキャッシュにより最新のCSSが反映されないことがあります。
手動でバージョンを変えるのは面倒であり、忘れがちです。
バージョンアップを自動的に行う方法があります。
CSSファイルの更新日をバージョンとして活用することで、CSSファイルを保存するたびに自動でバージョンが変わります。
function load_theme_style() {
wp_enqueue_style(
'theme-main-style',
get_stylesheet_directory_uri() . '/main.css',
array(),
filemtime(get_stylesheet_directory() . '/main.css')
);
wp_enqueue_style(
'theme-sub-style',
get_stylesheet_directory_uri() . '/sub.css',
array('theme-main-style'),
filemtime(get_stylesheet_directory() . '/sub.css')
);
}
filemtime()
は、ファイルの更新日時を取得するPHP関数です。これをバージョン指定の箇所に入れることで、ファイルの更新日時がバージョンになります。
get_stylesheet_directory_uri()
ではなく、get_stylesheet_directory()
を使用することが重要です。
get_stylesheet_directory_uri()
:style.cssが保存されたフォルダまでのURIget_stylesheet_directory()
:style.cssが保存されたフォルダまでのフォルダパスURLからファイルの更新日は取得できないため、フォルダパスを指定する必要があります。
<link rel='stylesheet' id='theme-main-style-css' href='http://sample.local/wp-content/themes/sample-theme/main.css?ver=1752215492' type='text/css' media='all' />
<link rel='stylesheet' id='theme-sub-style-css' href='http://sample.local/wp-content/themes/sample-theme/sub.css?ver=1752215704' type='text/css' media='all' />
?ver=1752215492
のように、更新日(タイムスタンプ)がバージョンとして付与されています。
main.cssファイルを更新して保存し、再度ページのソースを確認すると、?ver=
の数字が変わっていることがわかります。
これで、ファイル更新のたびに自動でバージョンアップする仕組みが完成しました。
今回は、より実践的なスタイルシート管理方法を学習しました。
filemtime()
を使った自動バージョン更新この方法を使えば、以下のような管理が可能になります。
依存関係を適切に設定することで、スタイルの適用順序を制御し、より保守性の高いテーマ開発が可能になります。
次回は、今回学んだスタイルシート管理技術を活用して、ナビゲーションメニューをスタイリッシュにする方法について解説します。
CSSでクラスを指定しながら、実際のナビゲーションメニューを美しくデザインする実践的な内容をお届けします。
WordPress開発の実践的なスキルを身につけて、より魅力的なサイトを構築しましょう!
次回もお楽しみに!
この記事で作成した成果物は、以下のページでまとめて確認することができます。
WordPressテーマでスタイルシートを読み込む2つの方法を実践的に解説。linkタグ直書きからWordPress推奨のwp_enqueue_style()まで、実際にコードを書きながら学習できます。パスの問題やキャッシュ対策も含めた完全ガイドで、functions.phpを使った安全で管理しやすいスタイル読み込み方法をマスターしましょう。
wp_nav_menuを例にWordPressの関数が生成するHTMLを分析し「分析→理解→実装」のワークフローを体験します。WordPressが付与するCSSクラスの意味を理解し、ドロップダウンメニューを段階的に実装します。検証ツールを使った構造分析から、効率的なCSS設計まで、他の関数でも応用できる普遍的なスキルを習得できます。
WordPressを効率よく確実に学ぶためには、学習の順序が大切です。知識が自然に積み上がるよう、学習ステップに沿って記事を順番に並べています。
学習ストーリー第24話まで掲載中