Top Blog(category) contact form

single.php

テンプレート階層

シリーズ:WordPressの基本

目次

✅ 基本的なルール(テンプレート階層)

WordPressには「テンプレート階層」というルールがあり、表示されるページに応じてテーマファイルが自動的に選ばれます。


ホーム画面に使われるテンプレートファイルの優先順位

WordPressの「設定 → 表示設定」で
「ホームページの表示:固定ページ」「最新の投稿」のどちらにしているかどうかで分岐します。

① 「固定ページ」をホームに設定した場合

この場合、以下の順でテンプレートが探されます:

  1. front-page.php ← 一般的にこれを用意する
  2. home.php
  3. page.php
  4. index.php

② 「最新の投稿」をホームに設定した場合

この場合は投稿の一覧なので:

  1. home.php
  2. index.php

✅ おすすめの使い分け

ファイル名用途の例備考
front-page.phpサイトのトップページ固定ページをトップにした場合、最も優先される
home.phpブログ投稿一覧ページ「投稿ページ」に指定した固定ページの表示に使われる
index.php最終手段的なテンプレート他に該当ファイルがないときに使われる

実装アドバイス

  • front-page.php を用意し、トップページのHTMLを書きます。
  • 投稿一覧用に home.php を別途用意しておくと便利です。
  • index.php はあくまで最終手段としてシンプルに残しておくのがベターです。

home.phparchive.php は、どちらも投稿一覧を表示するテンプレートですが、用途や表示対象が異なります。初心者向けに図式と例を使って、わかりやすく解説します。

✅ 結論:違いの概要

ファイル名対象主な使い道
home.php投稿のトップページ(投稿一覧)ブログのトップページなど
archive.phpカテゴリ・タグ・日付・カスタム投稿の一覧特定条件で絞られた投稿一覧表示

1. home.php の役割

表示対象: 投稿の一覧ページ(通常「ブログ一覧ページ」)

  • WordPress管理画面の「設定 → 表示設定」で「ホームページの表示」に「最新の投稿」を設定している場合、このテンプレートが使われます。「最新の”投稿”」を設定しているのでfront-page.phpではなく、home.phpを参照します。
  • または、「固定ページ → 投稿ページ」に特定のページを割り当てた場合も、そのページ表示に使われます。

✅ 例:

URL: https://example.com/blog
表示内容:最新の投稿記事10件など
使われるテンプレート:home.php

2. archive.php の役割

表示対象: 特定条件で絞られた投稿一覧

  • カテゴリー別一覧(例:/category/news/
  • タグ別一覧(例:/tag/tech/
  • 日付別一覧(例:/2024/05/
  • カスタム投稿タイプの一覧(例:/products/

✅ 例:

URL: https://example.com/category/news
表示内容:「news」カテゴリーに属する投稿一覧
使われるテンプレート:archive.php

使い分けのイメージ図(簡略化)

ユーザーがアクセスするURL → 呼び出されるテンプレート
-----------------------------------------------------
https://example.com/blog         → home.php
https://example.com              → front-page.php(または index.php)
https://example.com/category/xx → archive.php
https://example.com/tag/xx      → archive.php
https://example.com/2024/05     → archive.php

補足:テンプレート階層(優先順位)

WordPressは詳細にテンプレートファイルを探すので、条件に応じて下記のようなファイルがあればそちらが使われます。

例)カテゴリー「news」の一覧
探される順番:

  1. category-news.php(あれば最優先)
  2. category.php
  3. archive.php
  4. index.php

開発時のポイント

  • home.php:ブログ一覧として独立デザインにしたいときに用意する。
  • archive.php:カテゴリやタグなどの一覧を共通デザインで表示したいときに使う。
  • それぞれ get_header()get_footer() で共通パーツを読み込むのがベスト。