WordPressのテンプレート優先順位のまとめ

Wordpress

WordPressでは各ページ毎にテンプレートファイルの読み込み優先順位が決まっています。
優先順位の高い物から順に存在しなければ下位のテンプレートを読み込む仕組みになっています。

高 ← 優先順位 → 低
トップページfront-page.phphome.phpindex.php
カテゴリーアーカイブcategory-{slug}.phpcategory-{id}.phpcategory.phparchive.phpindex.php
タグアーカイブtag-{slug}.phptag-{id}.phptag.phparchive.phpindex.php
日付別アーカイブdate.phparchive.phpindex.php
カスタム分類アーカイブtaxonomy-{taxonomy}-{term}.phptaxonomy-{taxonomy}.phptaxonomy.phparchive.phpindex.php
作成者アーカイブauthor-{nicename}.phpauthor-{id}.phpauthor.phparchive.phpindex.php
カスタム投稿タイプアーカイブarchive-{post_type}.phparchive.phpindex.php
検索結果search.phpindex.php
個別投稿ページsingle-post.phpsingle.phpindex.php
カスタム投稿ページsingle-{post_type}.phpsingle.phpindex.php
固定ページpage-{slug}.phppage-{id}.phppage.phpindex.php
404ページ404.phpindex.php

 

例えばカテゴリーアーカイブでカテゴリー毎に表示を変えたい場合は
テンプレート内で条件分岐させることで表示を変えることも可能なので
ページ内の一部のみ表示を変える場合は条件毎に読み込むパーツを変える等の処理で良いですが
全く構成を変えたい場合は専用のテンプレートを作ったほうが管理は楽です。

WordPressのシステム上、front-page.phpとhome.phpは取り扱いが少し違うのですが、
インデックスページを表示させるテンプレートには違いないので優先順位が分かりやすいよう同じ枠に入れています。

テンプレートの読み込み処理は

wp-includes/template.php

で行われていて、各テンプレートについて上記の表の内容やコメントを記載されているので(英語ですが)
興味がある人は一度見てみると良いかもです。