it-swarm.com.de

Einzelne Vorlage mehreren benutzerdefinierten Beitragstypen zuweisen?

Ich habe eine Reihe von benutzerdefinierten Beitragstypen, die ich mit derselben Vorlage anzeigen möchte, die ich ursprünglich als single-photography.php in meinem Design erstellt habe.

Gibt es eine Möglichkeit, diese Vorlage mehreren benutzerdefinierten Beitragstypen zuzuweisen?

Ich verstehe, dass ich dies wahrscheinlich in der single.php-Datei mit einem bedingten Include basierend auf get_post_type() tun kann, aber ich frage mich, ob es einen besseren Weg gibt.

4
waffl

Sie können template_include filtern und Ihre benutzerdefinierte Vorlage abhängig von Ihren eigenen Bedingungen als Rückgabewert übergeben.

Beispielcode, nicht getestet:

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'; 
});
7
fuxia