【WordPress】固定ページのテンプレートを管理画面から選択できるようにする方法

【WordPress】固定ページのテンプレートを管理画面から選択できるようにする方法

2017.6.3

「特定の固定ページだけデザインを変えたい」という場合、スラッグが決まっていたり、既に投稿があれば「page-{slug}.php」や「page-{ID}.php」を作って対応できます。

ですが、まだそれらがはっきり決まっていないときや、ユーザーがある程度変更出来るようにしたいときには管理画面からテンプレートを変更できると便利ですよね。

ということで、今回はカスタムページテンプレートを作成して、管理画面から固定ページのテンプレートを変更出来るようにする方法です。

カスタムページテンプレートを作成して、管理画面から変更する

よっひー(@yosiakatsuki)です。

「page-{slug}.php」や「page-{ID}.php」を作成すれば特定の固定ページだけデザインを変えることができます。

ただ、それだと「そのページ以外でも同じデザインで表示したい…」といった時に不便なんですよね…

わざわざページごとにテンプレートファイルを作成しなくても、管理画面から使用するテンプレートを変更できるテンプレートファイルの作り方について備忘録もかねて紹介したいと思います。

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

どのページでも管理画面から選択して使用できる汎用性のあるテンプレートを作成します。

カスタムページテンプレートは次のようにphpファイルの先頭にコメントでTemplate Name: [テンプレート名]を記述します。

<?php
/**
 * Template Name: カスタムページテンプレート
 */

get_header(); ?>
~~などなど

あとはいつもどおりテンプレートファイルの中身をHTMLなりPHPを使って作って下さい。

管理画面から作ったテンプレートを選択する

固定ページにカスタムテンプレートの選択肢が追加された

Template Name:で始まるテンプレートがテーマ内にあれば、管理画面の「固定ページの属性」ボックスに「テンプレート」という選択肢が追加されていると思います。

上の写真の例はTemplate Name: 1カラムという記述を含んだテンプレートファイルを作っています

そこから使いたいテンプレートを選択すれば、そのページだけ選んだカスタムページテンプレートのデザインでページを表示することができます!

https://wpdocs.osdn.jp/%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88

ちなみに、WordPress 4.7から同じようなことを投稿やカスタム投稿タイプでも出来る方法があります

【WordPress】投稿やカスタム投稿タイプでも表示テンプレートを管理画面から選択できるようにする方法
WordPress 4.7からの機能になりますが、今まで固定ページで出来ていたテンプレートの選択を投稿やカスタム投稿でも出来るようになっています。 投稿では、s…
yosiakatsuki.net

テンプレートが使われているか判断する方法はこちら▼

【WordPress】投稿テンプレートが使われているか判断して処理を分岐させる方法
カスタムページテンプレートを使って、ユーザーに自由にテンプレートを変更できる機能をつけた時、 「このテンプレートが使われているときはこれをやる」 といった処理を…
yosiakatsuki.net