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

著者:牧野健人

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

牧野健人

記事の著者牧野健人

株式会社リラクス 代表取締役。CRO・SEOを専門とし、デザイン・実装のスキルも活かしながら、クライアントの成果向上のための取組に尽力。
慶應義塾大学卒業後、行政機関を経て、デジタルマーケティングエージェンシーのアイレップにて運用型広告のクリエイティブプランニングに従事。2019年にリラクスを創業。

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

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

固定ページのテンプレートを投稿画面の右カラム内の「テンプレート」から選択できるようにするには、<?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を使いつつ、特定のページでのみカスタムページテンプレートを選択する」という運用も可能です。

お気軽にご相談ください

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

サイト改善のプロが無料で分析無料のWebサイト診断 無料相談・見積もり依頼
サイト改善のプロが無料で分析無料のWebサイト診断