このページのもくじ
テンプレートを投稿記事ごとに替える
固定ページは、phpファイルを作っておけばテンプレートとして選べるようになるけれど、投稿ページで、テンプレートを作るにはどうしたらいいのだろう。。。
WordPress4.7から「投稿」についても「固定ページ」と同様にテンプレートを選択することができるようになているそうです。
今までの方法
新規にphpファイルを作り、ファイルの冒頭に下のようにコードを入れおくと、固定ページのテンプレートとして認識してもらえました。
例)snarfer.php というファイルを作り、冒頭にコードを記述する。
すると、snarfer.php が “Snarfer” テンプレートとして定義され、”Snarfer” を変更することで、固定ページテンプレート名 (Template Name) を変更することができます。このテンプレート名は、管理画面のテーマの編集ページのテンプレート一覧に表示されます。
<?php /* Template Name: Snarfer */ ?>
新しい方法
今までは投稿タイプが「page」に対してだけ、テンプレート化することが可能でしたが、バージョン4.7からは、さまざまな投稿タイプに対してテンプレートを指定することができるようになりました。
具体的には、「Template Post Type」
という新しいプロパティができ、投稿タイプをカンマ区切りで指定するして「page」以外の投稿タイプにもテンプレートを適用できるようになりました。
<?php /* Template Name: PostTemplate Template Post Type: post, page */ ?> 投稿タイプが、「post」と「page」で有効なテンプレートです。 Typeは、カンマ「,」で区切る必要があります。
この状態で投稿の編集画面を開くとテンプレートを選択できるようになります。また、「Template Post Type」で「page」と指定してあるので、固定ページの編集画面を開いても、このファイルをテンプレートとして選択できるようになっています。
今まで「ページ」でしか適用できなかったテンプレート機能を他の投稿タイプにも使えるようになって、とっても便利になりました!!
参照サイト:https://debug-life.net/entry/1885