従来、固定ページでは、固定ページテンプレートを選択する事が出来ました。
ここで選択するテンプレートは、テンプレート階層によるファイル名のルールによらない。以下のようなコメント付きテンプレートなわけですが、
<?php /* Template Name: Full-width layout/
このテンプレートに Template Post Typeの記述が可能になりそうです。
<?php /** * Template Name: Test Template * Template Post Type: post, page, product * */
これを記述するとどうなるかというと、上記のように「 post 」が書かれていると、
投稿に「投稿属性メタボックス」が表示されて、投稿でこのテンプレートを使用することが出来るようになります。
つまり、Template Post Typeを指定すると、post(投稿)と page(固定ページ)product(カスタム投稿 product) で使うことが出来るようになります。
わー、どうしよう!
テンプレートの保存場所
カスタムフィールド:_wp_page_template
動的なテンプレートの変更
get_page_templates()関数内のフィルタtheme_{$post_type}_templatesが使えます
return (array) apply_filters( "theme_{$post_type}_templates", $post_templates, $this, $post, $post_type );