WordPressテンプレート階層とは?自作テーマの柔軟性を高める基礎知識

WordPressのテンプレート階層とは

前回の記事で「自作テーマの基本的な作り方」を学んだ方は、次にテンプレート階層を理解すると、より柔軟なテーマ開発ができるようになります。

この記事では、WordPressのテンプレート階層(Template Hierarchy)の仕組みと、代表的なテンプレートファイルの役割を初心者向けに解説します。

テンプレート階層とは?

WordPressには「どのページを表示するか」に応じて、読み込むテンプレートファイルを自動で切り替える仕組みがあります。

この優先順位のルールのことをテンプレート階層と呼びます。

テンプレート階層の例

たとえば「投稿ページ(投稿ID: 10)」が表示されるとき、WordPressは以下の順番でテンプレートを探します:

  1. single-post-10.php
  2. single-post.php
  3. single.php
  4. singular.php
  5. index.php

上から順にファイルがあるか確認し、最初に見つかったファイルが使用されます。

よく使うテンプレートファイル一覧

ファイル名用途
index.phpすべてのページの最後の fallback(最低限必要)
home.php記事一覧(設定でフロントにも使える)
single.php投稿(投稿タイプ:post)の詳細ページ
page.php固定ページの表示用
archive.phpカテゴリ・タグ・日付アーカイブなどの一覧
category.php特定のカテゴリーページ
search.php検索結果ページ
404.phpページが見つからない場合のエラーページ

テンプレート階層を意識するメリット

  • ページごとに見た目を変えられる(例:カテゴリーページごとにデザイン変更)
  • カスタマイズ性が高まる(single.php・page.phpなどで分岐可能)
  • 不要な条件分岐を減らせる(役割をファイルに分担できる)

補足:get_template_part() で共通パーツを分けよう

テンプレート階層を整理するには、get_template_part()でパーツを分けるのも有効です。

<?php get_template_part('template-parts/content', 'page'); ?>

上記のように記述すると、template-parts/content-page.phpが読み込まれます。

おわりに

テンプレート階層を知ることで、WordPressテーマの自由度と柔軟性は一気に高まります。
カスタム投稿タイプや条件分岐を使いこなす前に、この仕組みを理解しておくと非常に役立ちます。

次回は、「functions.phpを使って便利な機能を追加する方法」もご紹介しますのでお楽しみに!