StyleBlogWordPressWordPressのテンプレートファイルの種類とテンプレート階層WordPressのテンプレートファイルの種類とテンプレート階層2013/08/10WordPressツイートWordPressを使い始めたばかりのとき、よくわからなくて困ったのがWordPressで使用するテンプレートファイル。こっちの本では○○.phpを使ってるけど、あっちの本では××.phpを使ってる!かと思ったらindex.phpにif文で分岐させて表示してるのもある!!本のとおりに作るだけなら問題ないけど、オリジナルのテーマを作るときに、どのテンプレートファイルを使えばいいのか自分なりにまとめてみました。最後にテンプレートファイルとはWordPressのテーマを構成しているindex.phpやsingle.php、page.phpなどのファイルのことをテンプレートファイルと言います。テンプレートファイルにはheader.phpやfooter.phpのように、すべてのページ内で使用できるファイル(パーツテンプレート)と、single.phpやarchive.phpのように、ある条件の下でのみ使用されるファイルがあります。基本のテンプレートファイルindex.phpテーマに必要なメインテンプレート。該当するテンプレートファイルがないときはすべてindex.phpが表示される。おもなパーツテンプレートheader.phpヘッダ出力用のテンプレート。?>でheader.phpを読み込む。footer.phpフッター出力用のテンプレート。?>でfooter.phpを読み込む。sidebar.phpサイドバー出力用のテンプレート。?>でsidebar.phpを読み込む。searchform.php検索フォーム出力用のテンプレート。?>でsearchform.phpを読み込む。comments.phpコメント出力用のテンプレート。?>でcomments.phpを読み込む。その他のおもなテンプレートファイルfront-page.phpサイトのホーム(トップ)ページのテンプレート。管理画面の表示設定の「フロントページの表示」が設定してあるときに表示される。home.phpサイトのホーム(トップ)ページのテンプレート。管理画面の表示設定の「フロントページの表示」が設定してあるときはその設定が優先される。single.php個別投稿ページのテンプレート。page.php固定ページのテンプレート。category.phpカテゴリーページのテンプレート。search.php検索結果ページのテンプレート。archive.php記事一覧のテンプレート。404.php404エラーページのテンプレート。テンプレート階層とはテンプレート階層とは、WordPressでページを表示するときに「○○ページの出力には○○.phpを読み込む」といった、読み込むテンプレートファイルの優先順位の事です。WordPressはテンプレート階層の優先順位の高い順番にファイルを探して、最初に見つかったテンプレートファイルを使ってページを表示します。使用するテンプレートのスラッグやIDが入ります。カテゴリーのスラッグが"news"の場合はcategory-news.php、カテゴリーのIDが6の場合はcategory-6.phpになります。カスタムテンプレートとはWordPressで決められたテンプレートファイルとは別に、自分で自由にファイル名を付けて作ったテンプレートを「カスタムテンプレート」といいます。固定ページでページによってテンプレートを変えたいときに、カスタムテンプレートを作成すれば、固定ページの編集画面で使用するテンプレートでカスタムテンプレートを選択できるようになります。ファイルの先頭に以下のように記述して、mypage.php(任意のファイル名)という名前で保存して、テーマのディレクトリ内に置きます。ページの編集画面で、適用するテンプレートを選択します。通常は「デフォルトテンプレート」が選択されているので、選択リストから使用したいカスタムテンプレートを選んでページを保存します。特定のカテゴリーだけ表示を変えたいとか、他は同じだけど一部分だけ表示を変えたい、というときはPHPの条件分岐を使って表示を変えることができます。);}?>個別投稿ページに複数のカテゴリーが設定してあるときは、条件分岐の上から条件に当てはまったカテゴリーの内容が表示されます。最後にWordPressで使うテンプレートファイルはちょっとややこしいけど、ルールがわかるとテーマをカスタマイズするときも「どれを使うんだっけ?」と迷う事がなくなるし、デザインの自由度もあがるのですごく便利だなーと思います。概観図でご覧頂けます。Web・WordPress・jQuery・デザインなど気になった情報を綴っていくサイトです。