これまで、自分は知らなかったのですが、WordPress4.7から投稿タイプテンプレートというものが使えるようです。これはどのような機能かというと、通常固定ページの編集画面に「ページの属性」というウィジェットがありますが、この中のにあるテンプレートという機能を「投稿」やカスタム投稿でも使用できるようにする機能です。

この投稿タイプテンプレートを有効にのはとても簡単です。テンプレートを作成すると、<?php get_header(); ?>部分にTemplate Nameを記載していたかと思いますがそこに、Template Post Typeの記述を追加するだけです。

上記の様にハイライト部分を追加します。そして「投稿タイプ名」のところにpostpageなどを記入します。複数の場合はカンマ区切りで記載します。また、カスタム投稿の場合はカスタム投稿名を記載します。例えばproductというカスタム投稿を作成している場合は、productを記入してください。また、postやカスタム投稿名のみを記載すると、固定ページのテンプレート選択欄には表示されなくなるので、このテンプレートは固定ページでは使用してほしくないなと思う場合はpageを記載しなければ固定ページには表示されません。

投稿タイプテンプレートを指定すると…?

投稿タイプテンプレートを指定するとどの様になるのか?下の画像は投稿タイプテンプレートをpostのみ指定した場合の編集画面キャプチャー画像です。

投稿タイプテンプレートを有効化した様子

「投稿の属性」→「テンプレート」に「追加したテンプレート」が追加されています。上の図はGutenbergでの表示例ですが、もちろんクラシックエディタでも使用可能です。

まとめ

このように、投稿タイプテンプレートを使えば、投稿やカスタム投稿に任意のテンプレートを選択させることができるようになります。自分は先日、カスタム投稿で任意のテンプレートを選択させる必要がある案件にでくわし、この投稿タイプテンプレートを使い思うような機能を実装することが出来ました。もしかしたらあまり有名ではない機能かもしれませんがとても便利なので覚えていて損はないかと思います。