テーマ開発・テンプレートで骨組みを作る

テンプレート階層——URLごとに担当ファイルが決まる

トップはfront-page.php、記事はsingle.php、一覧はarchive.php——WordPressがページごとに担当ファイルを選ぶルール「テンプレート階層」を、企業サイトに必要な分だけ覚えます。

いまのシマエナガ堂テーマは、どのページを開いてもindex.phpの1枚で表示されます。でも完成形では、トップ・会社案内・お知らせ一覧・記事詳細で別々の見た目が必要です。そこで登場するのが、WordPressテーマ最大のルール——テンプレート階層。「このURLのときは、このファイルが担当」という対応表です。

しくみ:WordPressはファイル名で探す

ページが開かれるたび、WordPressはテーマフォルダの中を決まった優先順位で探します。「専門の担当がいればその人に、いなければもっと一般的な担当に、誰もいなければindex.phpに」——という探し方です。

たとえば、投稿(お知らせ記事)の詳細ページなら:

single.php はある? → あれば採用
    ↓ なければ
singular.php は? → あれば採用
    ↓ なければ
index.php(最後の砦)

前に「index.phpは最後の砦」と言ったのは、この探し方の終着点だからです。

企業サイトで使う担当表

テンプレート階層の全体はかなり大きいのですが、実務でまず使うのはこれだけです。シマエナガ堂の完成形と対応させて覚えましょう。

ページ第一希望の担当ファイル
トップページfront-page.php
固定ページ(会社案内)page.php
投稿の一覧(お知らせ一覧)home.php
投稿の詳細(お知らせ記事)single.php
カテゴリ別の一覧category.php
検索結果search.php
見つからないページ404.php
最後の砦index.php

もっと専門的な担当もいる

階層は「より具体的な名前が優先」という性質を持っています。たとえば:

  • page-company.php——スラッグがcompanyの固定ページ専用の担当(page.phpより優先)
  • single-shohin.php——投稿タイプshohinの詳細専用の担当(あとでカスタム投稿タイプの章で使います)
  • archive-shohin.php——投稿タイプshohinの一覧専用の担当

「大きい網(index.php)→種類の網(single.php)→名指しの網(single-shohin.php)」と、だんだん細かい網が優先される——この感覚をつかめば、階層表を丸暗記する必要はありません。

このレッスンのまとめ

  1. テンプレート階層=ページの種類ごとに担当ファイルを探すWordPressのルール。専門の担当がいなければ、より一般的な担当→最後はindex.php
  2. 企業サイトでまず使うのはfront-page/page/home/single/category/404の6枚+index
  3. 「より具体的な名前が優先」——single-shohin.phpのような名指しの担当も作れる

やってみよう:担当ファイルを言い当てる

手を動かす前の腕ならし。シマエナガ堂の完成形で、次のページを開いたとき、第一希望の担当ファイルはどれか答えてみましょう。

  1. トップページ(/
  2. 会社案内(固定ページ)
  3. お知らせ記事「夏の新作雑貨フェア」の詳細
  4. 「イベント」カテゴリの記事一覧

(答え:front-page.php/page.php/single.php/category.php)

全問正解なら、次のレッスンからいよいよテンプレートを量産していきます。まずは全ページ共通のヘッダー・フッターからです。