[WordPress]固定ページでカスタムテンプレートを使用する方法

固定ページごとに、専用のテンプレートを使用したい場合があるかと思います。任意の固定ページに、任意のテンプレートを設定する方法をまとめます。

固定ページでカスタムテンプレートを使用する方法

固定ページとは?

まず、そもそも固定ページとは何なのか。

WordPressで作成できるページは、「投稿」と「固定ページ」のどちらかです。「投稿」では、一般的に記事が扱われます。それは、「投稿」で公開された内容は自動で時系列順に表示されるからです。「固定ページ」として作成されたページは、時系列の外に置かれます。例えば、「お問合せ」や「サイトについて」などは固定ページで作成するのがいいでしょう。

「投稿」も「固定ページ」も管理画面のサイドメニューからそれぞれ新規作成できます。

固定ページ – WordPress Codex 日本語版

固定ページのテンプレート階層

次に、固定ページで呼び出されるテンプレート階層についてです。

テンプレート階層とは、特定のページにおいて優先的に呼び出されるテンプレートの階層のことです。例えば、記事詳細のページでは、index.phpとsingle.phpというテンプレートがサーバーに上がっている場合、single.phpが優先されて使われます。この様に優先されるテンプレートを使い分けることで、サイトのページごとの見栄えを変化させます。

固定ページのテンプレート階層は下記となっています。

  1. カスタムテンプレート…自由にファイル名を命名したテンプレート
  2. page-{slug}.php…固定ページのスラッグを指定したテンプレート
  3. page-{id}.php…固定ページIDを指定したテンプレート
  4. page.php
  5. singular.php
  6. index.php

2以降は特に固定ページ側の設定が無くても自動的に最も優先度の高いものを使用してくれます。しかし、カスタムテンプレートでは、どの固定ページがどのカスタムテンプレートを使用したいのかを設定してあげなければいけません。管理画面から固定ページの新規作成画面へ行くと、「ページ属性」のBOXに「テンプレート」を指定できる場所があります。デフォルトでは「デフォルトテンプレート」が設定されているでしょう。ここで使用したいカスタムテンプレートを固定ページごとに設定できるわけです。

キャプチャ

テンプレート階層 – WordPress Codex 日本語版

カスタムテンプレートの作成

カスタムテンプレートを作成する際は、必ず下記のコメントを冒頭に入れてください

これが明記されることで、カスタムテンプレート名が管理画面「固定ページ」の「テンプレート」に表示されることになります。ファイル名は任意のものでOKです。拡張子はphpにしてください。

ページテンプレート – WordPress Codex 日本語版