【 WordPress 】テンプレートを理解する

WordPressWordPress

テンプレートファイルとは

使用しているテーマのディレクトリ下に header.phpfooter.php, single.php などのファイルがあります。これらのことをテンプレートファイルと呼びます。

それぞれが各ページに対応しており、それらを編集することでページの見た目を変えることができます。
これらのページには WordPress 独自の関数を使用することができます。

各ページに何をどのように表示するか、詳細に設定することができるのでそれぞれ理解していきましょう

各ページとテンプレートの対応

トップページ

優先度 高 < 低
front-page.php home.php index.php

front-page.php がある場合はホームページの表示設定に関わらず優先されます。
front-page.php がなければ、ホームページの表示設定が「最新の投稿」のときは home.php、「固定ページ」のときは固定ページが優先されます。

上述のいずれのファイルもない場合は index.php が適用されます。

投稿個別ページ

優先度 高 < 低
single-{post_type}.php single.php singular.php index.php

投稿ページには通常、 single.php を利用します。

投稿ページと固定ページのテンプレートを共通にする場合は singular.php にまとめることができます。

カスタム投稿を利用する場合は single-{post_type}.php で別途テンプレートを指定することができます。

固定ページ

優先度 高 < 低
{カスタムテンプレート} page-{slug}.php page-{id}.php page.php singular.php index.php

任意の名称のテンプレートファイルを作成し固定ページの作成画面で設定した場合は、そのテンプレートが適用されます。

固定ページは通常、page.php が共通テンプレートとして用いられますが、slug や id ごとに優先度の高いテンプレートを作成する事ができます。

singular.php を用いて投稿個別ページと共通にすることもできます。

カスタムテンプレートについては以下のリンクから

【 WordPress 】カスタムテンプレートを理解する

カテゴリーアーカイブページ

優先度 高 < 低
category-{slug}.php category-{id}.php category.php archive.php index.php

カテゴリーアーカイブページは category.php を使用します。

slugid ごとに優先度の高いテンプレートを作成することができます。

archive.php を使用してタグアーカイブページと共通にすることもできます。

タグアーカイブページ

優先度 高 < 低
tag-{slug}.php tag-{id}.php tag.php archive.php index.php

タグアーカイブページは tag.php を使用します。

slugid ごとに優先度の高いテンプレートを作成することができます。

archive.php を使用してカテゴリーアーカイブページと共通にすることもできます。

カスタム分類アーカイブページ

優先度 高 < 低
taxonomy-{taxonomy}-{term}.php taxonomy-{taxonomy}.php taxonomy.php archive.php index.php

カスタム分類を使用する場合は taxonomy.php を使用します。

特定のカスタムタクソノミーやタームでテンプレートを変えたい場合は taxonomy-{taxonomy}-{term}.phptaxonomy-{taxonomy}.php を使用します。

カスタム投稿アーカイブページ

優先度 高 < 低
archive-{post_type}.php archive.php index.php

カスタム投稿タイプアーカイブページは archive-{post_type}.php を使用します。

カスタム投稿については以下のリンクから

【 WordPress 】カスタム投稿を理解する

作成者別アーカイブ

優先度 高 < 低
author-{nicename}.php author-{id}.php author.php archive.php index.php

作成者別アーカイブページは author.php を使用します。

特定の作成者でテンプレートを変えたい場合は author-{nicename}.phpauthor-{id}.php を使用します。

日付別アーカイブ

優先度 高 < 低
date.php archive.php index.php

日付別アーカイブページは date.php を使用します。

404 ページ

優先度 高 < 低
404.php index.php

404 エラーページには 404.php を使用します。

以上が各ページとテンプレートファイルの対応です。

各テンプレートで WordPress の関数を用いて詳細な設定をしていきましょう。

よく使う関数や条件分岐タグについては以下のリンクから

【 WordPress 】テンプレートをカスタマイズする ① – 条件分岐タグ
【 WordPress 】テンプレートをカスタマイズする ② – よく使う関数