固定ページごとに、専用のテンプレートを使用したい場合があるかと思います。任意の固定ページに、任意のテンプレートを設定する方法をまとめます。
固定ページとは?
まず、そもそも固定ページとは何なのか。
WordPressで作成できるページは、「投稿」と「固定ページ」のどちらかです。「投稿」では、一般的に記事が扱われます。それは、「投稿」で公開された内容は自動で時系列順に表示されるからです。「固定ページ」として作成されたページは、時系列の外に置かれます。例えば、「お問合せ」や「サイトについて」などは固定ページで作成するのがいいでしょう。
「投稿」も「固定ページ」も管理画面のサイドメニューからそれぞれ新規作成できます。
固定ページのテンプレート階層
次に、固定ページで呼び出されるテンプレート階層についてです。
テンプレート階層とは、特定のページにおいて優先的に呼び出されるテンプレートの階層のことです。例えば、記事詳細のページでは、index.phpとsingle.phpというテンプレートがサーバーに上がっている場合、single.phpが優先されて使われます。この様に優先されるテンプレートを使い分けることで、サイトのページごとの見栄えを変化させます。
固定ページのテンプレート階層は下記となっています。
- カスタムテンプレート…自由にファイル名を命名したテンプレート
- page-{slug}.php…固定ページのスラッグを指定したテンプレート
- page-{id}.php…固定ページIDを指定したテンプレート
- page.php
- singular.php
- index.php
2以降は特に固定ページ側の設定が無くても自動的に最も優先度の高いものを使用してくれます。しかし、カスタムテンプレートでは、どの固定ページがどのカスタムテンプレートを使用したいのかを設定してあげなければいけません。管理画面から固定ページの新規作成画面へ行くと、「ページ属性」のBOXに「テンプレート」を指定できる場所があります。デフォルトでは「デフォルトテンプレート」が設定されているでしょう。ここで使用したいカスタムテンプレートを固定ページごとに設定できるわけです。
テンプレート階層 – WordPress Codex 日本語版
カスタムテンプレートの作成
カスタムテンプレートを作成する際は、必ず下記のコメントを冒頭に入れてください。
1 2 3 4 5 |
<?php /* Template Name: カスタムテンプレート名(※日本語で構いません) */ ?> |
これが明記されることで、カスタムテンプレート名が管理画面「固定ページ」の「テンプレート」に表示されることになります。ファイル名は任意のものでOKです。拡張子はphpにしてください。