【ワードプレス】問い合わせフォームから届く、ひたすら迷惑なスパムメールを防ぐ為には?
意図したページを表示する為にHTMLでは自由にファイル名を指定することができましたが、WordPressではファイル名にルールが設けられています。このルールを理解していないと意図したページが表示されないといったことが起こり、なかなか思うようなカスタマイズができません。
WordPressでは、アクセスしたページによって自動的にテンプレートが選択され、さらに優先順位が設けられていますので、この構造を知ることは、WordPressのカスタマイズのもっとも重要な基礎となります。
テンプレート階層とは
WordPressでは、アクセスされたURLから自動的に各テンプレートを出力します。
そのときに複数のテンプレートから優先順位の高いものを出力する仕組みがテンプレート階層です。
呼び出されるテンプレートは以下のような流れで決定されます。
- リクエストされたURLからページを判別
- ページの種類を元にテンプレート階層上位のテンプレートファイルを探査
- 最初に一致したテンプレートを使用
- 一致しなければ階層内の次のファイルを探査
- どれにも一致しなければindex.phpを使用
例えば、カテゴリページが表示される場合は、以下の通りの流れでテンプレートが決まります。
- カテゴリページがリクエストされる
- カテゴリのスラッグが「dog」の場合、category-dog.phpがあれば使用
- カテゴリIDが2の場合、category-7.phpがあれば使用
- category.phpがあれば使用
- archive.phpがあれば使用
- どれもなければindex.phpを使用
テーマを作る場合はテンプレート階層の仕組みを理解し、作成するウェブサイトに合う適切な構造にすることが必要です。
表示ページの優先順位
表示ページの優先順位は下記の通りです。
一番右側を見ると「index.php」というファイル名があります。これが「根」になります、ここからツリー(階層)状にファイルの種類が増えていくのがテンプレート階層という概念です。
意図したページが表示されないといった事を防ぐためにも初めのうちはテンプレート階層を意識して開発を行いましょう。また、ブログやwebサイトを制作する際のテンプレートファイルはある程度限られてきますが、今回紹介したもの以外にも様々なものが存在しますので、次回ブログでご紹介しようと思います。