「特定の固定ページだけデザインを変えたい」という場合、スラッグが決まっていたり、既に投稿があれば「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から同じようなことを投稿やカスタム投稿タイプでも出来る方法があります
テンプレートが使われているか判断する方法はこちら▼