WordPressでサイトを作成するときに、かっこよくて見やすいサイトにするにはページごとサイドバーやフォームなどがあったら見やすいですよね。でも、初めてサイトを作るからそのやり方がわからない人は多くいます。
そこで今回は、ワードプレスでサイト作成するときに必要なテンプレートファイルとテンプレート階層について紹介していきます。このやり方を覚えれば、ページごとにデザインを変えることができ見やすくてかっこいいサイトを作成することができます。
こちらのnote超初心者向きのWordPress管理画面操作方法載っているのでWordPressを触ったことがないかたはこちらを参考にしてください。
目次
テンプレートファイルとは
まずサイトの1ページを作成するには、テンプレートファイルというものが必要です。このテンプレートファイルがないと、サイトのページを作成することはできません。テンプレートファイルというのは、以下のようなものになります。
ポイント
テンプレートファイルとは、サイトのページを作成する際にページを構成するためのファイル
上記のものをテンプレートファイルといいます。このテンプレートファイルは、様々な役割を持っています。全体の土台となるものになることや、部分だけになったりと役割が多数あります。
サイトのページは、1つのファイルでできているのではなくいくつかのファイルによって出来上がるのです。
ポイント
ヘッダー部分→コンテンツ部分→フッター部分
上記のように、いくつかのテンプレートファイルで構成されているのです。そして、ページの種類や構成などによって色々なファイルに変わっていくのです。
テンプレートファイルには、ベースとなるテンプレートファイルがありサイトのページを表示するのに1番大事な部分になります。そのページを開きたいページに対応したテンプレートファイルになります。以下のようなのが、ベースとなるものです。
ページ | ファイル |
---|---|
トップページ | front-page.php |
固定ページ | page.php |
ニュース個別 | single.php |
アーカイブ一覧 | archive.php |
上記のテンプレートファイルが、ページを作成するときにベースとなるものになっています。ワードプレスではページを作成していくときに、どのテンプレートファイルを使用するかは大体決まっています。
ポイント
トップページならfront-page.php、固定ページならpage.php
上記のように、決まったテンプレートファイルを使用します。
そしてこのテンプレートファイルにコードを打ち込むだけで、適応したサイトページを表示することができます。そのため、このテンプレートファイルに表示したいコードを入力すれば、サイトページを作成することができるのです。
どのページを作成するかによって、どのテンプレートファイルを使うのか決まっています。だから、サイトのページを作るときはテンプレートファイルを前提に決めておくといいでしょう。
ページを作成は、どのテンプレートファイルにも必要なテンプレートファイルがあります。
ポイント
header.php(ヘッダー部分)とfooter.php(フッター部分)
上記の中身を変えることによって、そのページの種類が変わってきます。
また、固定ページに関しては作るサイトによって種類は変わってきます。固定ページはpage.phpですがそのテンプレートファイルを使っていくつものページを作成します。同じテンプレートファイルですが、中身はそれぞれの固定ページで作成したものになるので内容が同じになることはありません。
しかし、ページを作成するのにすべてのテンプレートファイルを使う必要はありません。必要のないテンプレートファイルがあれば、使用しなくても問題ありません。サイトを作るのに、なんのテンプレートファイルが必要か、見極めて使ってみましょう。
ただWordPressで必要なテンプレートテーマは必ず入れてください。
WordPressオリジナルテーマで必ず必要なファイル
すべてのテンプレートファイルを使う必要はありませんが、絶対に必要なファイルが2つあります。
- index.php
- style.css
この2つがないとテーマとして認識してくれなくなります。
テンプレートファイルには、読み込みをし表示する際に優先順位というものが存在します。優先順位とはどのようなものなのでしょうか。
テンプレート階層とは
WordPressでサイトをページを作る際は、テンプレートファイルにコードを読み込めばページを作成することはできます。しかし、読み込みの優先順位がわからず見にくいサイトページになってしまいます。
優先順位を決めるものを、テンプレート階層といいます。テンプレート階層というのはどのようなものなのでしょうか。
ポイント
テンプレートファイルを表示するときに、表示するページを判断しそのテンプレートファイルの優先順位で表示するテンプレートファイルを決めるもの
上記のようなものが、テンプレート階層といいます。同じレイアウトでページを作成する場合は、テンプレートファイルを変更する必要はありません。しかし、違うレイアウトにする場合は同じテンプレートファイルというのは使うことができません。そこで、テンプレート階層というのが必要になってきます。
このテンプレート階層が使いこなせるようになれば、柔軟にWordpressでサイトぺージが作れるようになります。では、テンプレート階層の優先順位というのはどのように決められるのでしょうか。
ポイント
Page-{slug}.php→Page-{id}.php→Page.php
上記のような種類の、テンプレートファイルがあったとします。Page-{slug}.phpのファイルがテーマの中にあればこれを優先的に読み込みをします。それがなければ次のファイル、なければ次のファイルを優先的に読み込むものをテンプレート階層というのです。
テンプレート階層で優先順位というのは決まっているので、このルールに従ってテンプレートファイルを作成していけば、各ページごとにテンプレートファイルをすべて違う形で作成することができるのです。
テンプレート階層の読み込む優先順位は、以下のようになります。
ページ | テンプレートファイル |
---|---|
トップページ | front-page.php→home.php→index.php |
投稿ページ | single-{post_type}.php→single.php→singular.php→index.php |
固定ページ | page-{slug}.php→page-{id}.php→page.php→singular.php→index.php |
カテゴリー | category-{slug}.php→category-{id}.php→category.php→archive.php→index.php |
タグ | tag-{slug}.php→tag-{id}.php→tag.php→archive.php→index.php |
カスタム分類 | taxonomy-{taxonomy}-{term}.php→taxonomy-{taxonomy}.php→taxonomy.php→archive.php→index.php |
カスタム投稿 | archive-{post_type}.php→archive.php→index.php |
添付ファイル | {MIME_type}.php→text.php→plain.php→textplain.php→attachment.php→single-attachment.php→single.php→index.php |
404エラーページ | 404.php→index.php |
上記の表で左から順番に、優先的に読み込むテンプレート階層の順番になっています。以下で詳しく紹介していきます。
トップページ
トップページの優先的に表示されるテンプレートファイルの順番は、front-page.php→home.php→index.phpになっています。一番優先されるファイルがあれば、固定ページなどを選んでもfront-page.phpのファイルが優先的に表示されます。
しかし、home.phpやindex.phpのファイルがあり固定ページを選んだ場合には固定ページが優先して表示されます。1番優先されるファイルは 、front-page.phpなのでこのファイルがあってほかのファイルがあったとしても表示されるのは、front-page.phpのファイルになります。
このファイルがなかった場合は、home.phpが表示されこのファイルがなければindex.phpのファイルが表示されるようになっています。
投稿ページ
投稿ページの優先されるファイルの順番は、single-{post_type}.php→single.php→singular.php→index.phpのようになります。カスタム投稿をした場合はこのような優先順位になりますが、個別投稿にした場合は優先順位が少し変わり、single-{post_type}.phpのファイルが無くなりsingle.phpが優先されるファイルになります。
そして、投稿のタイプがcompanyの場合はsingle-{post_type}.phpがsingle-canpany.phpのファイルになり、優先順位が1番高くなります。
固定ページ
固定ページの表示優先順位は、page-{slug}.php→page-{id}.php→page.php→singular.php→index.phpになります。slugには、ページのスラッグが入りidにはぺーじのIDが記載されます。固定ページは特別で、テンプレート階層で優先順位を1番高くすることができるカスタムページテンプレートというのをページごとに付けることができるのです。
カスタムテンプレートをつけるだけで、固定ページそれぞれの内容をガラッとページごとに変えることができるようになります。
カテゴリー
カテゴリーの表示優先順位は、category-{slug}.php→category-{id}.php→category.php→archive.php→index.php になります。このページは、カテゴリーをクリックした際に表示されるものです。カテゴリーのページのデザインをすべて同じにする場合は、category.phpのみで問題はありません。しかし、分ける際はスラッグやIDを使ってデザインを変えていきます。
タグ
タグの表示優先順位は、tag-{slug}.php→tag-{id}.php→tag.php→archive.php→index.phpになります。タグも、カテゴリーのテンプレートファイル同様にデザインが同じでよい場合は、tag.phpのみで大丈夫です。しかし、デザインをタグのページごとに変えたい場合は、スラッグやIDを変えて優先順位を上げていきます。
カスタム分類ページ
カスタム分類の表示優先順位は、taxonomy-{taxonomy}-{term}.php→taxonomy-{taxonomy}.php→taxonomy.php→archive.php→index.phpになります。カスタム分類というのは、アーカイブインデックスボックスに使われます。また、タグ機能やカテゴリー機能も持ち合わせています。
カスタム投稿
カスタム投稿の表示優先順位は、archive-{post_type}.php→archive.php→index.phpになります。カスタム投稿タイプの場合は、投稿ページのテンプレートファイルは使うことができないので、こちらのファイルを使います。カスタム投稿タイプのアーカイブインデックスページを表示する際に使われます。
添付ファイル
添付ファイルの表示優先順位は、{MIME_type}.php→text.php→plain.php→textplain.php→attachment.php→single-attachment.php→single.php→index.phpになります。こちらは、投稿タイプの個別投稿ページを商事する際に使われるテンプレートファイルです。
404エラーページ
404エラーページの表示優先順位は、404.php→index.phpになります。こちらはページ表示の際にエラーが出たときに表示するものです。こちらのファイルは必要がなければ使う必要はなく、そのページがなければトップページに飛ばすこともできます。
上記のものが、サイトページを作る際に重要になってくるファイルのテンプレート階層になっています。
テンプレート階層を上手に使い、サイトを作成してみよう
WordPressでサイトを作成する場合は、テンプレートファイルとテンプレート階層を理解する必要があります。テンプレートファイルを使えるようになれば、サイトは作成することはできます。しかし、かっこいいサイトを作れたいのならテンプレート階層をうまく使ってみましょう。
テンプレート階層を使えば、ページの種類ごとに異なったデザインのページを作成することができます。テンプレート階層を使いこなして、柔軟なサイトを作ってみましょう。