WordPressテーマのテンプレートで必要なファイル

この記事が良ければ、ぜひシェアお願いします

WordPressでは、PHP言語で書かれたCMSになっていて、最低限必要なテンプレートをテーマとして定義しておく必要があります。また、そのテンプレートは、日本語で意味するテンプレートと実際のテンプレートファイル(.php)の名称は異なっている上に、『優先順位』というものが存在します。

WordPressの基本となるテンプレートでは、優先順位上に存在するテンプレートファイル(.php)があれば、それから読み込んでいきます。場合によって、優先順位の最後が”index.php”になるテンプレートの場合もあるので、その場合はそのテンプレート用に別途テンプレートファイル(.php)を用意しなくても大丈夫です。

各テンプレートの説明

WordPressで基本となるテンプレートと表示に必要となるテンプレートファイル(.php)を、各テンプレート毎にご説明します。

■メインテンプレート

メインテンプレートは、WordPressでサイトのトップページを表示するためのテンプレートです。WordPressでは、ちょっと変わっていて(?)、”home.php”があれば”home.php”、”home.php”がなければ”index.php”となる仕様になっています。

基本的には”index.php”を設置するのがベストでしょう。(”home.php”は、一時的なデザイン変更やメンテナンスの時に、違うものを表示したい時に使えばよいと思います)

【優先順位】
  1. home.php
  2. index.php

■検索テンプレート

検索結果画面を表示するためのテンプレートです。検索ボックスではないのでご注意をば(笑)ちなみに、サイト内検索を設けない場合には、このためのテンプレートファイル(.php)を用意する必要はありません。

【優先順位】
  1. search.php
  2. index.php

■404テンプレート

インターネット検索やURLを直接入力した際に、そのページが存在しない場合に、『と表示されたことがありませんか?HTTPステータスコードのエラーコードの1つになります。
WordPressでは、URLでアクセスされたファイルが存在しない場合に、表示するテンプレートファイル(.php)のこととなります。ファイルがない場合にはトップページを表示するのでよければ、このためのテンプレートファイル(.php)を用意する必要はありません。

【優先順位】
  1. 404.php
  2. index.php

■カテゴリーテンプレート

記事を投稿する時にカテゴリーを設定しますが、そのカテゴリー毎での一覧ページを表示する際に利用するテンプレートとなります。テンプレートファイルの優先順位は多いので、サイトの規模や記事の多さによって、テンプレートファイル(.php)を分けるとよいでしょう。

【優先順位】
  1. category-{slug}.php
  2. category-{id}.php
  3. category.php
  4. archive.php
  5. index.php

■タグテンプレート

記事を投稿する時に、カテゴリーと同様にタグも設定しますよね。そのタグ毎での一覧ページを表示する際に利用するテンプレートとなります。カテゴリーテンプレートとほぼ同じような動きで、テンプレートファイル(.php)も”tag”に変わっただけです。

【優先順位】
  1. tag-{slug}.php
  2. tag-{id}.php
  3. tag.php
  4. archive.php
  5. index.php

■タクソノミーテンプレート

当ブログでは現時点ではまだ触れていませんが、カスタムタクソノミーを使う場合には、タクソノミー用のテンプレートを利用します。カテゴリーテンプレートやタグテンプレートと似たような動きをしますが、タクソノミーテンプレートでは、タクソノミー名を指定して分類ごとにテンプレートファイル(.php)を分けることができます。

【優先順位】
  1. taxonomy-{taxonomy}-{term}.php
  2. taxonomy-{taxonomy}.php
  3. taxonomy.php
  4. archive.php
  5. index.php


※タクソノミーとは
 英語で書くと”taxonomy”となります。生物学では『分類学』という意味になりますが、コンピュータ用語では『分類基準』という意味で、特定領域での構成要素の分類基準の意味で用いられます。

■著者テンプレート

著者、つまりその記事を作成したユーザー別のテンプレートですね。また、ニックネームを指定して、特定のユーザー専用のテンプレートを用意することもできます。

【優先順位】
  1. author-{nickname}.php
  2. author-{id}.php
  3. author.php
  4. archive.php
  5. index.php

■日付テンプレート

月別、日別、年別のアーカイブページを作るためのテンプレートとなります。

【優先順位】
  1. date.php
  2. archive.php
  3. index.php

■投稿テンプレート

投稿テンプレートは、投稿した記事を単体で表示する際の詳細ページのためのテンプレートとなります。コメントを表示させたりすることもあると思いますので、こちらは基本的にテンプレートファイル(.php)を用意した方がよいと思います。

当ブログではまだ取り上げていませんが、カスタムポストを利用する場合には、ポストタイプ名を指定することで投稿をポストタイプ毎に設定することもできます。

【優先順位】
  1. single-{post_type}.php
  2. single.php
  3. index.php

■ページテンプレート

ページテンプレートは、固定ページを表示するためのテンプレートとなります。固定ページは、”まとめページ”だったり、”ギャラリー”だったり、”問合せフォーム”だったりと、毛色が異なるページの場合もあるかと思いますが、固定ページ毎に個別のテンプレートを用意することもできます。

ただ、テンプレートファイルが増えると、その分CSSも増えるので、その点にはご注意ください。CSSが増えることについては、別記事をぜひ閲覧ください。

【優先順位】
  1. {template_name}.php
  2. page-{slug}.php
  3. page-{id}.php
  4. page.php
  5. index.php

■ファンクションテンプレート

WordPress 3.0~利用可能になった”function.php”ですが、存在すれば基本的に取り込まれます。機能追加する場合には、ここに書いておくことで管理しやすくなりますが、サイト全体に適用されてしまうのが、注意点ですね。

【優先順位】
  1. function.php

テンプレートまとめ

シンプルにブログサイトとして運営するのであれば、テンプレートファイルは必要最低限にしておくことが望ましいのかな、と考えています。もし機能追加が必要になった場合は、「必要に応じてテンプレートを追加」したり、「function.phpに書く」ことや、「プラグインを追加」したりすることで事足りるのではないでしょうか。

WordPressを始めた頃は、テーマに機能がほぼ備わっていれば充分と考えていましたが、柔軟性/拡張性を考えると、なるべくシンプルにするのが良いと思います。ただ、プラグインと同等の機能を数行~数十行で実現できる機能であれば、もともと備わっていても良いだろうと考えます。『パンくずリスト』は4行で済んでしまうので、
代表的な例
だと思います。

スポンサーリンク

この記事が良ければ、ぜひシェアお願いします

もぐ
年齢 : 30代半ばの1児の新米パパ。ITネットワークから始まり、WEBディレクター、WEBシステム系のプロマネ、データ分析など色々やってるエンジニアです。WordPress、Webサービス構築、BIツール、IoTなどがトレンド。新しくて面白い仕事募集中。
スポンサーリンク

コメント

  1. […] ★どのテンプレートがどのテンプレートファイル(.php)に紐付くかのルールについてはこちらを参照ください。 […]