こんにちは、阿久梨絵です!
WordPressテーマの中で、 header.php は「サイトのヘッダー部分」を定義するテンプレートファイルです。
HTMLの <head> タグや <body> の開始、ロゴやナビゲーションなど、サイト全体の共通部分がここに含まれます。
このファイルには、WordPress独自の関数が多数登場します。今回はその中でもよく使われる関数を初心者向けに解説します。
よく使われる関数一覧と解説
| 関数名 | 役割 | 解説 |
|---|---|---|
| language_attributes() | HTMLタグに言語属性を追加 | 例:<html lang="ja"> のように、言語や文字方向を指定します。SEOにも有効です。 |
| bloginfo() | サイト情報を取得 | charset や name、description など、管理画面で設定した情報を取得できます。 |
| wp_title() | ページタイトルを表示 | 現在のページに応じたタイトルを表示。SEO対策にも重要です。※最近は wp_head() に統合される傾向あり。 |
| get_stylesheet_uri() | CSSファイルのURLを取得 | 現在のテーマの style.css のURLを取得して読み込みます。 |
| wp_head() | プラグインやテーマの追加情報を挿入 | <head> 内に必要なCSSやJavaScriptなどを自動で挿入します。忘れずに書くことが重要です。 |
| body_class() | <body> タグにクラスを追加 | ページ種別や投稿タイプなどに応じたCSSクラスが自動で付与され、スタイリングに便利です。 |
| home_url() | サイトのトップページURLを取得 | ロゴやホームリンクに使われます。マルチサイトでも正確なURLを返します。 |
| wp_nav_menu() | ナビゲーションメニューを表示 | 管理画面で設定したメニューを表示。テーマ側で register_nav_menus() が必要です。 |
コード例:header.phpの基本構成
以下表記上半角<は、全角<を使用しています。
<table border="1" cellpadding="8" cellspacing="0">
<thead>
<tr>
<th>関数名</th>
<th>役割</th>
<th>解説</th>
</tr>
</thead>
<tbody>
<tr>
<td>language_attributes()</td>
<td>HTMLタグに言語属性を追加</td>
<td>例:<code><html lang="ja"></code> のように、言語や文字方向を指定します。SEOにも有効です。</td>
</tr>
<tr>
<td>bloginfo()</td>
<td>サイト情報を取得</td>
<td><code>charset</code> や <code>name</code>、<code>description</code> など、管理画面で設定した情報を取得できます。</td>
</tr>
<tr>
<td>wp_title()</td>
<td>ページタイトルを表示</td>
<td>現在のページに応じたタイトルを表示。SEO対策にも重要です。※最近は <code>wp_head()</code> に統合される傾向あり。</td>
</tr>
<tr>
<td>get_stylesheet_uri()</td>
<td>CSSファイルのURLを取得</td>
<td>現在のテーマの <code>style.css</code> のURLを取得して読み込みます。</td>
</tr>
<tr>
<td>wp_head()</td>
<td>プラグインやテーマの追加情報を挿入</td>
<td><code><head></code> 内に必要なCSSやJavaScriptなどを自動で挿入します。忘れずに書くことが重要です。</td>
</tr>
<tr>
<td>body_class()</td>
<td><body> タグにクラスを追加</td>
<td>ページ種別や投稿タイプなどに応じたCSSクラスが自動で付与され、スタイリングに便利です。</td>
</tr>
<tr>
<td>home_url()</td>
<td>サイトのトップページURLを取得</td>
<td>ロゴやホームリンクに使われます。マルチサイトでも正確なURLを返します。</td>
</tr>
<tr>
<td>wp_nav_menu()</td>
<td>ナビゲーションメニューを表示</td>
<td>管理画面で設定したメニューを表示。テーマ側で <code>register_nav_menus()</code> が必要です。</td>
</tr>
</tbody>
</table>
安心してカスタマイズするために
初心者の方がheader.phpを編集する際は、以下のポイントを意識すると安心です。
・wp_head() を削除しない(プラグインが正しく動作しなくなります)
・body_class() を使うことでCSSの柔軟な制御が可能になります
・wp_nav_menu() を使うには、functions.php でメニューの登録が必要です
まとめ
WordPressの header.php は、サイトの顔とも言える重要なテンプレートです。
登場する関数は一見難しそうですが、役割を理解すれば納得感を持ってカスタマイズできます。
安心して編集できるよう、構造化された知識を少しずつ積み重ねていきましょう。
阿久梨絵でした!
