Beiträge in mehreren Kategorien verschiedene single.php

Ich zerschmettere meinen Kopf gegen irgendeinen Code. Hier ist die Situation: Ich habe einen Beitrag in 3 verschiedenen Kategorien, dieser Beitrag muss in “category 1” mit der single1.php, in “category 2” mit single2.php und in “category 3” mit single3.php sichtbar sein .

Offensichtlich haben die 3 single.php Seiten eine andere Vorlage. Zum Beispiel die single1.php zeigt Bilder und the_content (); single2.php zeigt Bilder und Kommentare; single3.php zeigt die Bewertungen.

Ich weiß, dass ich in single.php das if / else verwenden kann, aber ich kann nicht herausfinden, ob derselbe Beitrag in 3 verschiedenen Kategorien ist.

Irgendwelche Hilfe bitte?

Solutions Collecting From Web of "Beiträge in mehreren Kategorien verschiedene single.php"

Anstatt es kategoriespezifisch zu machen, könnten Sie Post-Formate verwenden und verschiedene Inhalts-Vorlagen verwenden. In single.php können Sie schreiben

< ?php get_template_part( 'content', get_post_format() ); ?> 

Erstellen Sie dann verschiedene Post-Formate

 add_theme_support( 'post-formats', array( 'withpictures', 'withcomments' ) ); 

Erstellen Sie dann verschiedene Postvorlagen content-withpictures.php, content-withcomments.php

Beim Erstellen von Inhalten wird das ausgewählte Postformat die Vorlage bestimmen.

Sie können den Filter-Hook für ‘single_template’ verwenden. Erstellen Sie single-cat1.php, single-cat2.php und single-cat3.php (cat1, cat2 und cat3 sind die Kategorienamen, die durch Ihre Kategorienamen ersetzt werden sollen)

 function template_change( $template ){ if( is_single() && in_category('cat1') ){ $templates = array("single-cat1.php"); } elseif( is_single() && in_category('cat2') ){ $templates = array("single-cat2.php"); } elseif( is_single() && in_category('cat3') ){ $templates = array("single-cat3.php"); } $template = locate_template( $templates ); return $template; } add_filter( 'single_template', 'template_change' ); //'template_include'/'single_template' 

Sie können es in der header.php ändern, wenn das Template mit single-cat1.php, header.php das Stylesheet Ex ändern muss: