固定ページは投稿と違い、独立した下層ページを作成するのに使うため、特定のページだけデザインを変えたいって人が多いですよね。

そこで便利なのが、固定ページのカスタムテンプレート機能です。こちらを使えば、簡単にページ毎のレイアウトを切り替えることができます。

当記事では、新しくカスタムテンプレートを作成する方法について解説していきます。なお、カスタムテンプレートの仕様や基本的な操作方法などを知りたい方は、以下をご覧ください。

固定ページのカスタムテンプレートの追加方法

固定ページには、エディターの右側に「テンプレート」と書かれた以下のセレクトボックスが存在します。

クラシックエディタの画面 ブロックエディタの画面
クラシックエディタ ブロックエディタ

こちらにテンプレートを追加して、サイトに反映する方法を解説していきます。以下の2ステップで実装できるので非常に簡単です。

  1. カスタムテンプレート用ファイルの作成
  2. ファイルにコメントを記載

カスタムテンプレート用ファイルの作成

まずは、カスタムテンプレートを作成していきます。

テーマフォルダのどこかに任意の名前のPHPファイルを作成してください。今回は「page_test.php」という名称でファイルを作成していきます。

カスタムテンプレートはどの名称でも動作しますが、「page-〇〇.php」で作成する時は注意が必要です。この形式で作成すると、以下のテンプレートファイルが誤って呼び出される可能性があります。

page-{スラッグ}.php 固定ページのスラッグと一致した時に表示するテンプレート
例)page-test.phpは、スラッグが「test」の固定ページで呼び出される
page-{ページID}.php 固定ページのIDが一致した時に表示するテンプレート
例)page-48.phpは、IDが「48」の固定ページで呼び出される

デフォルトテンプレートを選択しているのに、カスタムテンプレートの内容が反映される場合は、一度上記をご確認ください。

カスタムテンプレートは、page-{スラッグ}.phpやpage-{ページID}.phpよりも優先度は高いです。

ファイルにコメントを記載

次は、作成したファイルにコメントを記載していきます。コメントは、カスタムテンプレート用ファイルの上部に以下の形式で記入してください。

<?php

/* Template Name: カスタムテンプレートの名称 */

?>

カスタムテンプレートの名称は、エディタ横のセレクトボックスの選択肢に使われます。「サイドバー無し」や「ランディングページ」など、用途に応じた名前を付けるとあとで分かりやすいです。

あとは、カスタムテンプレート選択時に表示させたいコンテンツを記述していけば完成です。これで、テンプレートのセレクトボックスに新たな選択肢が追加されているはずです。

既存テーマにもカスタムテンプレートは追加できるの?

既存テーマにも、自分独自のカスタムテンプレートファイルを追加することは可能です。

子テーマの中に当記事で紹介した手順でファイルを作成して、専用のコメントを記入してみてくだださい。固定ページのテンプレートの選択肢に反映され、該当ファイルが読み込まれるようになるはずです。

下層ページをこだわりたい方は、以下より子テーマを作成して、試してみてください。

セットで覚えておきたい関数

カスタムテンプレートを多用していると、テンプレートファイル名を取得したり、条件分岐が必要になったりしてきます。以下は、カスタムテンプレートとセットでよく使われる関数になりますので、ぜひ覚えておきましょう。

is_page_template() 特定のカスタムテンプレートファイルが利用しているか調べる 公式ページ
get_page_template_slug() 現在利用しているカスタムテンプレートファイル名を取得 公式ページ

まとめ

今回は、固定ページのカスタムテンプレートを作成する方法について解説しました。意外と簡単につくれるので、既存テーマのカスタマイズで利用している方も非常に多いです。

また、固定ページのIDやタイトルなどの基本的な情報の取得方法は以下で解説してますので、こちらもご覧ください。