テンプレート階層(Template Hierarchy)は、ウェブ開発やコンテンツ管理システム(CMS)において、ページや投稿の表示に使用されるテンプレートファイルが選択される方法を定義するシステムである。WordPressなどのCMSでは特によく使用される。

テンプレート階層は、以下のようなルールに基づいてテンプレートファイルを選択する:

  1. ホームページテンプレート:ホームページが表示される際に使用されるテンプレートファイルである。通常は`home.php`または`index.php`が使用される。
  2. ページテンプレート:個別のページが表示される際に使用されるテンプレートファイルである。ページスラッグに基づいて`page-{slug}.php`が使用され、該当するテンプレートがない場合は`page.php`が使用される。
  3. 投稿テンプレート:個別の投稿が表示される際に使用されるテンプレートファイルである。投稿スラッグに基づいて`single-{slug}.php`が使用され、該当するテンプレートがない場合は`single.php`が使用される。
  4. アーカイブテンプレート:投稿のアーカイブページが表示される際に使用されるテンプレートファイルである。カテゴリやタグ、投稿年月に基づいて`archive.php`が使用される。
  5. カテゴリーテンプレート:特定のカテゴリが表示される際に使用されるテンプレートファイルである。カテゴリースラッグに基づいて`category-{slug}.php`が使用され、該当するテンプレートがない場合は`category.php`が使用される。
  6. タグテンプレート:特定のタグが表示される際に使用されるテンプレートファイルである。タグスラッグに基づいて`tag-{slug}.php`が使用され、該当するテンプレートがない場合は`tag.php`が使用される。

このように、テンプレート階層はページや投稿の種類やカテゴリに応じて適切なテンプレートファイルを選択し、ウェブサイトの表示を制御する。これにより、柔軟性が高く、ページごとに異なるデザインや機能を実装することが可能になる。