私は自分のテーマで最初にsingle-photography.php
として作成したものと同じテンプレートで表示したいカスタム投稿タイプがいくつかあります。
このテンプレートを複数のカスタム投稿タイプに割り当てる方法はありますか?
私はおそらくget_post_type()
に基づく条件付きインクルードを使ってsingle.php
ファイル内でこれを実行できることを理解していますが、もっと良い方法があるのかどうか疑問に思いますか?
あなたはtemplate_include
をフィルタリングし、あなた自身の条件に応じて戻り値としてあなたのカスタムテンプレートを渡すことができます。
テストされていないサンプルコード
add_filter( 'template_include', function( $template )
{
// your custom post types
$my_types = array( 'photography', 'painting' );
$post_type = get_post_type();
if ( ! in_array( $post_type, $my_types ) )
return $template;
return get_stylesheet_directory() . '/single-photography.php';
});