WordPressの自作テーマのテンプレートファイルとフォールバック

こんにちは!Azusaです。

今回はWordPressの自作テーマを作成する上での基礎知識となる、テンプレートファイルとフォールバックについて書いていこうと思います。

WordPressでは投稿のタイプによって呼び出される際に使用されるファイルが異なっており、そのファイルが存在しない場合は次に指定されているフォールバック先のファイルを検索する…という具合に、最終的には”index.php”に集約されるようになっています。

ですので最低限必要なファイルとしては、”index.php”と”style.css”だけではありますが、すべてをそのファイルにまとめると冗長になってしまったりしますので、大まかに単一の投稿と投稿のインデックス・その他のように最初は別ける事が多いように感じます。

ページタイプごとにファイルを別ける場合にどのような名称をつければいいのか、また存在しない場合に次に読み込みを試行するファイルについて紹介していきます。

index.php

index.phpは全てのページタイプの最終的なフォールバック先であり、必須ファイルの1つになっています。

この後紹介していくテンプレートファイルが存在しない場合に、最終的に読み込まれるファイルとなっているため、あまり重要視していないテンプレートファイルのフォールバック先のまとめとして分岐条件を多用してコーディングされることが多いように感じます。

style.css

style.cssにはテーマ自体のタイトルなどの情報も書き込まれており、基本的なテーマのスタイルを決定するために、必須のファイルとなっています。

すべてのページを同じスタイルでまとめる場合には、cssファイルはこのファイルだけの場合も十分考えられます。

front-page.php

フロントページ用のテンプレートファイルです。

フロントページがブログのインデックスであるか、固定ファイルであるかによって次のフォールバック先が変わりますので、使い勝手の面からあまり使われていないイメージがあります。

フォールバック先はブログのインデックスの場合は”home.php”、固定ページの場合は”page.php”(または”page-{slug}.php”)となっています。

home.php

ブログのインデックスページ用テンプレートです。

“front-page.php”の項目で書いたように、このファイルをインデックスページのテンプレートとするか、もしくはフォールバック先の”index.php”に纏めてしまっているテーマが多いと思います。

single.php

single.phpは単一の投稿ページ用のテンプレートファイルです。

存在しない場合は”index.php”にフォールバックされますが、記事毎の表示用ファイルなので、固定ページだけで運用しているサイトでない限りはほぼ必須で作成されているファイルです。

page.php

固定ページ表示用のテンプレートファイルです。

この他にも特定のslug専用のファイルである”page-{slug}.php”もありますが、任意のテンプレートファイル内に情報を記述することで選択できるようになるカスタムテンプレートのほうが利用されていますし、自由度も高いと思います。

固定ページ全てで同じスタイルを適用する場合は、このファイルにて全て書いてしまってもOKです。

フォールバック先は”index.php”です。

category.php, tag.php, author.php, date.php

これらは各アーカイブページ表示用のテンプレートです。

より大きな分類として、”taxonomy.php”や”archive.php”もあります。

優先度及びフォールバックは小分類(“author.php”)→大分類(“archive.php”)→”index.php”のように範囲が大きくなっていく流れです。

search.php

検索結果画面のテンプレートファイルです。

存在しない場合は”index.php”にフォールバックされます。

attachment.php

画像単体やPDFファイルなどを表示するページ用のテンプレートです。

あまり画像単体で表示することがないので、使われることは少ないかもしれません。

404.php

表示する項目がないときに表示される404エラーページのテンプレートファイルです。

こちらも存在しなければ”index.php”にフォールバックされます。

各ページ共通で使うことが想定されているファイル

“header.php”, “footer.php”, “sidebar.php”, “comments.php”等のファイルは各ページのテンプレートから共通で読み込むことが想定されています。

すべてのページに必要な要素をコーディングしておき、各テンプレートから読み込むことで何度も同じ記述をする必要もなく、修正も簡単にできるようになります。

これらのファイルの読み込みに関しては、主要関数の記事にて紹介しているので、もしよろしければそちらもご覧ください。

終わりに

さて、とりあえず最低限使いそうなファイルだけ駆け足で紹介しました!

ある程度テーマづくりに慣れてきた方は、大体の役割や使用方法なども感覚でわかるようになっていると思いますので、当サイトでの記事は本当に入口の部分だけの紹介だったりしますが、お役に立てれば嬉しいです。

WordPressの自作テーマ作成に関する記事は↓のページに纏めております。

間違いや、もうちょっと掘り下げてほしいところだったりあればコメント等いただけると嬉しいです。

ではまた〜♪

コメントを残す