WordPress 4.7 カスタム投稿テンプレート

従来、固定ページでは、固定ページテンプレートを選択する事が出来ました。

ここで選択するテンプレートは、テンプレート階層によるファイル名のルールによらない。以下のようなコメント付きテンプレートなわけですが、

<?php
/*
Template Name: Full-width layout

/

このテンプレートに Template Post Typeの記述が可能になりそうです。

<?php

/**
 * Template Name: Test Template
 * Template Post Type: post, page, product
 *
 */

これを記述するとどうなるかというと、上記のように「 post 」が書かれていると、

投稿に「投稿属性メタボックス」が表示されて、投稿でこのテンプレートを使用することが出来るようになります。

post-attribute

つまり、Template Post Typeを指定すると、post(投稿)と page(固定ページ)product(カスタム投稿 product) で使うことが出来るようになります。

わー、どうしよう!

Post Type Templates in 4.7

テンプレートの保存場所

カスタムフィールド:_wp_page_template

動的なテンプレートの変更

get_page_templates()関数内のフィルタtheme_{$post_type}_templatesが使えます

return (array) apply_filters( "theme_{$post_type}_templates", $post_templates, $this, $post, $post_type );
[emulsion_relate_posts]