1. TOP
  2. 技術メモ
  3. WordPressサイトの表示を制御する!テンプレート階層の仕組みを理解しよう

WordPressサイトの表示を制御する!テンプレート階層の仕組みを理解しよう

WordPressサイトの表示を制御する!テンプレート階層の仕組みを理解しよう

WordPressでウェブサイトを見ていると、「トップページ」「ブログ記事一覧ページ」「個別の記事ページ」「固定ページ」「検索結果ページ」など、様々な種類のページがあります。

それぞれのページでレイアウトや表示される情報が少しずつ違いますよね?これは、WordPressがページのタイプに応じて**「どのテーマファイルを使って表示するか」**を決めるルールがあるからです。このルールこそが「テンプレート階層」と呼ばれているものです。

テンプレート階層を理解することは、WordPressテーマをカスタマイズしたり、特定のページだけデザインや表示内容を変更したりする上で非常に重要になります。この記事では、このテンプレート階層の仕組みを分かりやすく解説し、あなたのWordPressカスタマイズの幅を広げるお手伝いをします。

テンプレート階層の基本的な考え方

WordPressがページを表示する際、まず最初に**「このページはどんな種類のページか?」**を判断します。例えば、「これはIDが10番のブログ記事を表示するページだ」「これは『お知らせ』カテゴリの記事一覧ページだ」といった具合です。

次に、WordPressはテーマフォルダの中から、そのページのタイプに最もふさわしいテンプレートファイルを**特定の順番**で探していきます。最も具体的なファイルから探し始め、もし見つからなければ、より汎用的なファイルへと探し進めます。まるで滝のように、上流から下流へと順番にファイルを探していくイメージです。

最終的にどのファイルも見つからなかった場合、多くの場合 index.php というファイルが使用されます。これが「フォールバック」(代替手段)と呼ばれるものです。ほとんどのテーマには index.php が含まれているため、WordPressが完全に表示できなくなることは稀です。

この「特定の順番」がテンプレート階層の最も重要な部分です。

主要なテンプレートファイルとその役割

WordPressテーマに含まれる主なテンプレートファイルと、それぞれがどのタイプのページ表示に使われるかの基本的な役割を見ていきましょう。

  • index.php: 全てのタイプのページの最終的なフォールバック。基本的にどのテーマにも含まれています。他の特定のテンプレートファイルが見つからなかった場合に使われます。ブログのトップページ(最新の投稿一覧)の表示にも使われることがあります(後述)。
  • home.php: サイトの**トップページ**で、「設定」→「表示設定」が「最新の投稿」になっている場合に使われます。
  • front-page.php: サイトの**トップページ**で、「設定」→「表示設定」が「固定ページ」になっている場合に使われます。home.php より優先されます。
  • single.php: **個別の投稿(記事)ページ**を表示する際に使われます。
  • page.php: **固定ページ**を表示する際に使われます。
  • singular.php: single.phppage.php の両方が存在しない場合のフォールバックとして、**単一の投稿または固定ページ**を表示する際に使われます(比較的新しいテンプレートファイル)。
  • category.php: **カテゴリのアーカイブページ**(特定のカテゴリに属する記事一覧ページ)を表示する際に使われます。
  • tag.php: **タグのアーカイブページ**(特定のタグが付いた記事一覧ページ)を表示する際に使われます。
  • taxonomy.php: **カスタムタクソノミー**(カスタム投稿タイプに紐づけられた独自の分類)のアーカイブページを表示する際に使われます。
  • author.php: **投稿者のアーカイブページ**(特定の投稿者が書いた記事一覧ページ)を表示する際に使われます。
  • date.php: **日付ベースのアーカイブページ**(特定の年、月、日、または期間に投稿された記事一覧ページ)を表示する際に使われます。
  • archive.php: 上記の category.php, tag.php, taxonomy.php, author.php, date.php など、**様々なアーカイブページのフォールバック**として使われます。
  • search.php: **検索結果ページ**を表示する際に使われます。
  • 404.php: 存在しないURLにアクセスされた場合の**404エラーページ**を表示する際に使われます。

これらの他に、ヘッダー (`header.php`)、フッター (`footer.php`)、サイドバー (`sidebar.php`) など、複数のテンプレートファイルから読み込まれて共通部分を構成するファイルもあります。これらは主に get_header(), get_footer(), get_sidebar() といったテンプレートタグを使って呼び出されます。

具体的な探索の仕組み(例)

WordPressが実際にどのようにファイルを探していくかを、具体的な例で見てみましょう。

例1:IDが10番の投稿(ブログ記事)のページを表示する場合

WordPressは以下の順番でファイルを探します。

  1. single-post-10.php (特定の投稿タイプ ‘post’ で、IDが10の投稿専用のテンプレート)
  2. single-post.php (投稿タイプ ‘post’ 全体に適用されるテンプレート)
  3. single.php (全ての単一投稿に適用される汎用テンプレート)
  4. singular.php (全ての単一投稿および固定ページに適用されるテンプレート)
  5. index.php (最終的なフォールバック)

この例では、もしあなたのテーマフォルダに single.php があれば、それが使われます。もし single.php はなく、代わりに single-post.php があれば、そちらが使われます。もし single-post-10.php というファイルがあれば、それが最優先で使われるため、その投稿だけに適用される特別なデザインやレイアウトを実現できます。

例2:「お知らせ」(スラッグが ‘news’)カテゴリのアーカイブページを表示する場合

WordPressは以下の順番でファイルを探します。

  1. category-news.php (スラッグが ‘news’ のカテゴリ専用のテンプレート)
  2. category-ID.php (IDが ‘news’ カテゴリのIDと同じテンプレート)
  3. category.php (全てのカテゴリアーカイブに適用される汎用テンプレート)
  4. archive.php (全てのアーカイブページのフォールバック)
  5. index.php (最終的なフォールバック)

この場合も、最も具体的なファイル(category-news.phpcategory-ID.php)があればそれが優先され、なければより汎用的な category.phparchive.php、最終的には index.php が使われます。

カスタム投稿タイプやカスタムタクソノミー、特定の固定ページにも、それぞれ固有のより具体的なテンプレートファイル名のルールがあります。これらの詳細なルールは、WordPress Developer Handbook のテンプレート階層のページなどで確認できます。

カスタマイズへの応用

テンプレート階層の仕組みを理解すると、WordPressテーマのカスタマイズが格段に自由になります。

  • 特定のページのデザイン変更: 特定の投稿や固定ページ、カテゴリだけレイアウトや表示内容を変えたい場合、この階層に従って専用のテンプレートファイル(例: single-slug.php, page-ID.php, category-slug.php など)を作成し、親テーマの汎用的なテンプレートを上書きすることができます。
  • 子テーマでのカスタマイズ: 子テーマでテンプレートファイルをカスタマイズする際も、この階層のルールを利用します。親テーマのファイルを子テーマフォルダの同じ階層にコピーし、それを編集することで、親テーマのアップデートの影響を受けずに表示を変更できます。WordPressはまず子テーマフォルダからファイルを探すため、子テーマにあるファイルが優先されます。
  • テーマ開発: ゼロからテーマを作成する場合や、既存テーマを大きく改修する場合も、テンプレート階層に基づいて必要なファイルを作成・配置していきます。

最初は少し複雑に感じるかもしれませんが、「WordPressは、ページのタイプに応じて、特定の順番でテーマファイルを探しに行き、最初に見つけたものを使う」という基本を覚えておけば、多くのカスタマイズに対応できるようになります。

まとめ

WordPressのテンプレート階層は、サイト上の様々なページがどのように表示されるかを決定する重要な仕組みです。この「滝の流れ」のようなファイル探索ルールを理解することで、あなたは以下のことができるようになります。

  • サイトの各部分がどのテーマファイルによって生成されているかを把握できる。
  • 特定のページやコンテンツタイプ専用のデザインやレイアウトを適用できる。
  • 親テーマのアップデートを気にせず、安全にテーマファイルをカスタマイズできる(子テーマの活用)。

最初は主要なテンプレートファイル(index.php, single.php, page.php, archive.php)からその役割を把握し、必要に応じて詳細な階層のルールを調べてみましょう。テンプレート階層の理解は、WordPressをより深く使いこなし、あなたの思い通りのサイトを構築するための強力な武器となるはずです。

PR

ニッチなテーマのイラスト素材を投稿中!ぜひご利用ください。

ナマケモノなど可愛いイラストをイラストACで無料配布中!

オリジナル絵本をKindleで出版!

ナマケモノのふにゃまるちゃんを読む

困ったときは格安で依頼!RU DESIGNも出品中

格安レンタルサーバーでサイト運営を始めよう

ドメイン取得は一括管理が便利!

応援・支援よろしくお願いします!サイト運営に活用させていただきます。

Braveクリエイターサポート
ホームページ制作ならRU DESIGN

関連記事

【WordPress初心者さん必見!】「これ、どうすればいいの?」検索しても意外と見つからない疑問を解決!
2025/04/19
WordPressでのサイト運営、始めてみましたか?✨ 最初は設定や記事の書き方など、覚えることがたくさんで大変ですよね!基本的な操作は色々なサイトで解説されて...
WordPressで「Missing a temporary folder」エラーを解決!ファイルがアップロードできない時の簡単な対処法
2025/04/19
WordPressで画像やプラグインをアップロードしようとしたら、「Missing a temporary folder」というエラーが出て、うまくアップロード...
WPFormsで「JavaScriptの問題を検出しました」メッセージが表示された時の原因と対処法
2025/04/19
WordPressサイトで人気の高いお問い合わせフォームプラグインの一つであるWPFormsを利用していると、サイトの管理画面や、実際にフォームが表示されている...
WordPressサイトの処理が止まる?「Maximum execution time exceeded」エラーの原因と対策
2025/04/18
WordPressサイトを運営していると、時々「Fatal error: Maximum execution time of XX seconds exceed...
WordPressで遭遇しやすい「原因が分かりにくい」エラーと解決策
2025/04/18
WordPressでウェブサイトを運用していると、予期しないエラーメッセージに遭遇することがあります。有名なエラー(例えば、白い画面だけが表示される「真っ白画面...