【WordPress】投稿やカスタム投稿タイプでも表示テンプレートを管理画面から選択できるようにする方法

【WordPress】投稿やカスタム投稿タイプでも表示テンプレートを管理画面から選択できるようにする方法

2017.6.3

WordPress 4.7からの機能になりますが、今まで固定ページで出来ていたテンプレートの選択を投稿やカスタム投稿でも出来るようになっています。

投稿では、single-{slug}.phpといったテンプレートを作ったり、独自で何かしら機能を付け足さなければならなかったと思いますが、この機能を使うと楽できそうです。

投稿やカスタム投稿でも管理画面からテンプレート選択出来るようにする。

今まで固定ページではテーマのテンプレートファイルにTemplate Name:から始まるコメントを一番初めに書いたテンプレートファイルを作れば、管理画面からテンプレートを変更することが出来ました

【WordPress】固定ページのテンプレートを管理画面から選択できるようにする方法
「特定の固定ページだけデザインを変えたい」という場合、スラッグが決まっていたり、既に投稿があれば「page-{slug}.php」や「page-{ID}.php…
yosiakatsuki.net

このカスタムページテンプレートを投稿やカスタム投稿タイプでも選択出来るようにする方法がありました

Template Post Type: をコメントに追加

カスタムページテンプレートの書式は次のようになっていたと思います

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

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

これを投稿ページでも選択可能にするためには次のようにします

<?php
/**
 * Template Name: テンプレート名
 * Template Post Type: post
 */

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

Template Post Type: postを追加しました!

ただ、Template Post Type: postと書いてしまうと、固定ページでテンプレートの選択ができなくなってしまうので、固定ページの他に投稿も選択したい場合は投稿タイプをカンマ区切りで書いていきます

<?php
/**
 * Template Name: テンプレート名
 * Template Post Type: page, post
 */

この機能はWordPress 4.7から使えるようですので、「うまく選択できるようにならないなぁ…」と言う場合はWordPressのバージョンも確認してみてくださいね!

テンプレートが使われているか判断して追加で処理する場合は、こちらも参考にしてみて下さい▼

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