WordPressテンプレート階層とテンプレートファイルの基本ガイド

WordPressでテーマ開発を行う際、「どのテンプレートファイルがどのページに使われるのか?」を正しく理解することは非常に重要です。この記事では、テンプレート階層と主なテンプレートファイルの使い方について、図解とともにわかりやすく解説します。
Contents
テンプレート階層とは?
テンプレート階層(Template Hierarchy)とは、WordPressがどのテンプレートファイルを優先的に使用するかを決めるルールです。
たとえば、特定のカテゴリーのページを表示する場合、WordPressは次のような順序でテンプレートファイルを探します:
category-slug.php
category-ID.php
category.php
archive.php
index.php
これにより、細かくデザインを分けたい場合に柔軟な対応が可能になります。
代表的なテンプレートファイル
ファイル名 | 用途 |
---|---|
front-page.php | フロントページの表示 |
home.php | 投稿一覧の表示(ブログトップ) |
single.php | 投稿ページの表示 |
page.php | 固定ページの表示 |
archive.php | アーカイブ(カテゴリー・日付など)ページの表示 |
category.php | カテゴリーページの表示 |
search.php | 検索結果ページの表示 |
404.php | ページが見つからなかったときの表示 |
index.php | すべてのフォールバックテンプレート |
よくある疑問:どこに書けばいいの?
たとえば、dynamic_sidebar()
でサイドバーを表示したい場合、それが「投稿ページ」ならsingle.php
に書きます。
- 固定ページ:
page.php
- 投稿ページ:
single.php
- カテゴリーページ:
category.php
- 全体共通:
sidebar.php
に分けて、get_sidebar()
で読み込む
といったように、目的に応じて適切なテンプレートファイルを使い分けましょう。
補足:テンプレートタグとget_template_part()
共通部分(例:ヘッダー、フッター、サイドバーなど)を管理するには、get_header()
やget_sidebar()
、get_footer()
といったテンプレートタグが便利です。また、パーツ化して再利用できるget_template_part()
も活用しましょう。
テンプレート階層を理解することで、WordPressテーマのカスタマイズが格段にスムーズになります。迷ったらまずindex.php
からスタートし、必要に応じてファイルを分岐・作成していくとよいでしょう。