システムメンテンス、終了しました。ご協力ありがとうございました。
管理者側でもチェックしておりますが、引き続きエラーが出たり、気になる表示や動作、逆に以前より快調になったりなど
何かお気づきの点がありましたら、談話室または日本語フォーラム、メールにてお知らせください。
テンプレート階層
出典: WordPress Codex 日本語版
テンプレートは WordPress サイトを生成するために使われるファイルです。WordPress v1.5 で「テーマ」機能が導入されて以来、テンプレートはますます構造化しやすくなり、たくさんのカスタマイズを盛り込んだテーマを作成できるようになっています。サイト内の全ページを同じデザインにすることも、メインページ・カテゴリ・検索結果といったページの種類ごとに別のテンプレートを設けて、デザインや表示内容を変えることもできます。
テンプレート階層とは、WordPress サイトの各ページを表示する際に WordPress がチェックする、テンプレートファイル名の優先順序です。これを利用して、特に作り込みたいページ(種別)のみ専用のテンプレートファイルを設け、その他のページは共通のテンプレートで生成させる、といったことができます。
このページは、次の問いに答えを出そうとするものです。
○○(ページ)を表示するとき、どのテンプレートファイルが使われるのか?
テーマを作成するには、ブログの各ページを表示するために WordPress がテンプレートファイルを選び出す仕組みを適切に理解しておくことが不可欠です。既存の WordPress テーマをカスタマイズしたい場合も、編集すべきテンプレートファイルを判断するのに役立ちます。
次の図は、WordPress テンプレート階層に基づいてウェブページを生成する際に呼ばれるテンプレートファイルを図解したものです。訪問者がアクセスする各種ページのクエリ文字列と、それに対応する条件タグ、そして、WordPress が探すテンプレートファイル名の順序を示しています。
WordPress テンプレート階層構造図 (英語版 Codex サイトにあります)
訪問者が WordPress サイト上のページにアクセスしたとき、WordPress は次のように動きます。
- URI に含まれるクエリ文字列とクエリタイプを照合し、要求されているページの種類(メインページ、カテゴリページなど)を判断。
- 該当するページ種類のテンプレート階層に基づき、現在のテーマディレクトリ内からテンプレートファイルを探す。
- 最初に見つかったテンプレートファイルを用いて、要求されたページを生成。
例えば、ブログが http://example.com/wp/ にあり、訪問者が http://example.com/wp/category/apple/ という「りんご」カテゴリのアーカイブページにアクセスしたとしましょう。WordPress は、現在のテーマディレクトリの中からりんごカテゴリに使えるテンプレートファイルを探します。
カテゴリページのテンプレート階層は次のとおりです。WordPress はこのリストの上から順に、ファイルがないかどうか探していき、最初に見つけたファイルを使います。
- category-ID.php -- 特定のカテゴリ用テンプレート
- category.php -- カテゴリの汎用テンプレート
- archive.php -- 汎用アーカイブテンプレート(タグ・日別アーカイブなどと共用)
- index.php
りんごカテゴリの ID が '4' であれば、最初に category-4.php というテンプレートファイルを探します。ディレクトリ内にそのファイル名が存在しなければ、次に category.php を探し、それもなければ archive.php を探します。それもなければ、あらゆるページに使える基本のテーマテンプレートファイル index.php を使います。
index.php はテーマに必須ですが、他のテンプレートファイルを設けるか否かは、テーマの作成者が選べます。WordPress は、一致する名前のテンプレートファイルを見つけられなければそれを飛ばし、次の候補のファイル名を探してくれます。例えば、他のページと様式を変えたいのがカテゴリID 4 だけなのであれば、テーマディレクトリ内に置くテンプレートファイルは category-4.php と index.php だけでいいのです。
備考: WordPress がページの種類(クエリタイプ)に合うテンプレートファイルを特定する方法は一つではありません。条件タグは表示しようとしているページの種類を判定できるので、その判定結果によってテンプレートファイルを切り替えたり、複数のページ種類で共通のテンプレートファイルを使い、そのページ内の表示の一部分だけをページ種類に応じて変える、というような細かい制御もできます。詳しくはテーマの作成および条件タグのページをご覧ください。
以下、表示するページの種類別に、WordPress に呼ばれるテンプレートファイルの順序を示します。各セクションの見出しが、冒頭の問い「○○(ページ)を表示するとき、どのテンプレートファイルが使われるのか?」の ○○ に当てはまります。
- home.php
- index.php
- single.php
- index.php
注: この節は「WordPress ページ」についてであり、ブログの一般的な記事やウェブページではありません。
- category-ID.php -- 例えばカテゴリID 6 用のテンプレートであれば
category-6.php - category.php
- archive.php
- index.php
- tag-タグスラッグ.php
- tag.php
- archive.php
- index.php
注: WordPress 2.3 以上でのみ使えます。
- author.php
- archive.php
- index.php
例えば月別アーカイブページなど
- date.php
- archive.php
- index.php
- search.php
- index.php
- 404.php
- index.php
記事本文への画像添付で 'Linked to Page' を選んだ場合に、画像のリンク先として使われるページ
- attachment.php
- index.php

