WordPressの固定ページのテンプレートを投稿画面から選択可能にする方法【Template Name】

著者:牧野健人

「固定ページのPHPテンプレートを作成したけど、投稿画面のテンプレートエリアに表示されない」とお悩みの方に向けて、解決方法を解説します。

固定ページのテンプレートを選択可能にする方法

固定ページのテンプレートを投稿画面の右カラム内の「テンプレート」から選択できるようにするには、<?php/* Template Name */?>を使用します。

PHPファイルの最上部に、下記を記述してください。「テンプレート名」の部分は投稿画面に表示される文言なので、任意で構いません。

<?php
/*
Template Name: テンプレート名
*/
?>

Template Name はカスタムページテンプレートを登録するための記述

専用の名前を持ち投稿画面から自由に選択できる状態のテンプレートを「カスタムページテンプレート」と言います。

これを登録するための記述が、上述の<?php/* Template Name */?>です。

<?php/* Template Name */?>を書いていないテンプレートでは、page-A.phpのAの部分はスラッグとして解釈されます。

例えば会社概要ページ用にpage-company.phpを作成した場合、”ドメイン/company/”というURLでは自動的にそれが適用されます。

この状態(Template Nameを記述していない)だとそのテンプレートは特定のスラッグを持つページ専用のものなので、投稿画面のテンプレート選択エリアには表示されないのです。

したがって、自由に選択できるようにするにはカスタムページテンプレートとして登録しなければならず、そのために<?php/* Template Name */?>を記述する必要があるということです。

カスタム投稿タイプでテンプレートを選択可能にする方法

カスタム投稿タイプでは、Template Nameを記述していてもそのテンプレートが選択肢に表示されない場合があります。

それは、そのテンプレートが有効になる投稿タイプに、そのカスタム投稿タイプが含まれていないからです。

これを解決するには、下記のようにTemplate Post Typeを記述します。

<?php
/*
Template Name: テンプレート名
Template Post Type: カスタム投稿タイプ名
*/
?>

これにより、指定したカスタム投稿タイプでそのテンプレートを有効化することができるので、選択肢に表示されるようになります。

なお、カスタム投稿タイプでは、page-カスタム投稿タイプ名.phpという名前のテンプレートを作成することで、それが自動的に適用されるようになります。

そのため、カスタム投稿タイプ内で一律に同じテンプレートを適用したい場合は、わざわざカスタムページテンプレートとして選択する手間をかける必要はありません。

また、テンプレートの適用の優先順位は「カスタムページテンプレート > page-カスタム投稿タイプ名.php > page.phpになるので、「基本はpage-カスタム投稿タイプ名.phpを使いつつ、特定のページでのみカスタムページテンプレートを選択する」という運用も可能です。

牧野健人

著者牧野健人

株式会社リラクス 代表取締役。マーケティング領域におけるクリエイティブ改善を専門としながら、アクセス解析やSEOの知見、ならびにデザイン・コーディングのスキルを活かしクライアントの成果向上のための取り組みに尽力しています。

お問い合わせはフォームよりお願いいたします。

お気軽にご相談ください

Webサイトに関する課題をお持ちの方はお気軽にご連絡ください。
課題が曖昧な状態でのご相談でも大丈夫です。

改善点や競合との比較がわかる無料サイト診断 無料相談・お問い合わせ
改善点や競合との比較がわかる無料のサイト診断