WordPress テンプレート階層とは〜テンプレート階層の理解を深める〜
いざ、Wordpressで運用やカスタマイズを進めて行くとテンプレート階層というものを覚えておかなければなりません。自分でテーマを作っていく上で必要となってきます。今回はテンプレート階層についてを学習し、記録するために改めて理解を深めてみたいと思います。テンプレートファイルの種類については「WordPressカスタマイズに必須!テンプレートファイルを理解する」をご覧ください。
CONTENTS
1.テンプレート階層とは
WordPressはページを表示する際に読み込んでいくルール(優先順位)が決まっています。個別投稿、アーカイブページ、固定ページなどを一定のルールに従ってテンプレートを読み取って行きます。このルールのことを「テンプレート階層」と呼びます。例えばカテゴリページを読み込む時はcategory-$slug.php→category-$ID.php→category.php→archive.php→index.phpのようにカテゴリーのスラッグを探し、それがなければ、ID、カテゴリー、アーカイブのように順番にファイルを探しにいきます。これができることによって、特定のカテゴリのデザインを変えたい場合など、細かくカスタマイズできるようになります。
上の例だとカテゴリースラッグが「news」というスラッグがあるとしてcategory-newsがなければ次に、というようにファイルを探していき、なにもファイルがなければindex.phpにたどり着くというようになっています。このように階層化することによってテンプレートによって様々なデザインが可能になります。
2.テンプレート階層を利用する場合の注意
最終的にすべてのファイルがない場合、index.phpに集約されます。ということはindex.phpにすべての条件分岐などのコードを書けばウェブページとして表示することができますが、それをしてしまうとコードが長くなり、メンテナンス性や視認性が下がってしまいますよね。テンプレート階層があることで複雑なコードをそれぞれのテンプレートに書く事でシンプルになります。
そして、注意しておきたいのが、必ずしもすべてのテンプレート階層が必要というわけではなく、その時々に応じて必要なファイルを作成するのがいいかと思います。全く同じ内容なのに無駄にテンプレートを増やしすぎるのもメンテナンス性が下がる要因です。カテゴリーに入れる内容やデザインが共通であれば、ひとつのテンプレートで。固定ページも共通であればひとつのテンプレートに。という風にまとめることで作業の効率化が計ることができると思います。Wordpressでウェブページを作る際にどのテンプレートが必要かをしっかりと計画して制作にとりかかりましょう。と自分にも言い聞かせます。
3.代表的なテンプレート階層
続いてはテンプレート階層としてよく使うであろう代表的な階層を紹介します。 以下の図がテンプレート階層の図になります。左から右へ、ファイルが見つからなければ次に行き、次のファイルを探します。最終的にファイルがない場合はindex.phpを表示する図になっています。
参考書籍:一歩先にいくWordPressのカスタマイズがわかる本
テンプレートについてもっと詳しい詳細を知りたい場合は「WordPress codex日本語版テンプレート階層」をご覧ください。
4.スラッグやIDについて
スラッグについて
ちょっとテンプレート階層とは離れますが、テンプレートのところでスラッグやIDなどがちょこちょこと出てきますよね。テンプレートを作成するうえで必要になると思うので最後にスラッグについて書きたいと思います。スラッグとはカテゴリーやタグ、個別投稿ページの識別名を表す言葉で、URLの一部として使われます。スラッグの設定は各カテゴリーや、記事、タグの「スラッグ」欄より設定できます。
スラッグの設定方法
この投稿記事の場合、スラッグは上の表示オプションをクリックし、タブを引き出します。タブが出てきたら、その中にスラッグというのがあるのでスラッグにチェックを入れます。
チェックを入れたら投稿画面の下の方に上の画像のようにスラッグ入力欄がでてきていると思います。そこにスラッグを入力すると設定できます。このスラッグは半角英数字で入力するようにしておきましょう。
カテゴリーやタグの場合
カテゴリーやタグの新規追加画面でスラッグの項目を入力します。既存の場合を変更する場合は変更したいカテゴリーを編集し、スラッグを変更することができます。
IDについて
IDは投稿記事などに割り当てられる固有の番号です。各記事には自動でIDという数字が割当られます。IDを調べる場合はURLを見ます。例えばこの記事の場合はこの記事を編集しているURLを確認します。
カテゴリーの場合は、確認したいカテゴリーの編集画面に移動し、URLを確認します。
テンプレートを作成する際にはこのようにスラッグやIDを調べておくことで、特定のスラッグやIDのテンプレートを作り、表示を変えることができます。
パーマリンク設定
また設定の「パーマリンク設定」からパーマリンクを数字ベースにすることで記事のURLをIDのみの表示にすることができます。
数字ベースに設定すると下にあるカスタム構造の欄が/archives/%post_id%に変わります。するとURLがhttp://URL.com/archives/固有IDになります。ここはそれぞれの必要に応じて設定されてください。
合わせてご覧ください。「WordPressカスタマイズに必須!テンプレートファイルを理解する」