Echo einer CSS-class basierend auf der Kategorie des Posts in einer Liste

Was ich erreichen möchte

Ich brauche eine Seite, um die letzten 5 Beiträge aus einem bestimmten Satz von 5 Kategorien zu ziehen.

Nicht die letzten von jedem, nicht die letzten 5 von jedem, sondern die letzten 5 Beiträge aus den 5 Kategorien.

Die Kategorie-IDs lauten: 89,90,91,92,93

Hintergrund

Ich habe 5 verschiedene Kategorieseiten, das macht es also schwieriger. Jeder von diesen verwendet ein Include für die Seite. Ich schreibe diese Logik in diesem.

PHP

 $bfaCat = 'bfa-cat-ba';  

Dann muss ich durchschleifen. Keine Anwendung, wenn sich der Beitrag nicht in einer der Kategorien befindet. Aber wenn die Posts dieser Kategorie $bfaCat , dann füge eine Variable (als $bfaCat ) mit der folgenden class (rechts) hinzu, wenn sie die folgende Kategorie-ID hat (auf der linken Seite)

 89 - bfa-cat-bl 90 - bfa-cat-fs 91 - bfa-cat-s1 92 - bfa-cat-ba 93 - bfa-cat-ea 

HTML – VERSUCH 1 – in Vorlage

 <div class="bfa-category ">  

HTML – gewünschtes Ausgabebeispiel

 

HTML – VERSUCH 2 – Wäre das besser, wenn geändert?

Ich weiß, das ist schlampig, aber ich habe es auch inline ausprobiert, aber es hat nur diese class auf alles angewendet

 <div class="bfa-category ">  

Es scheint also so, als würde die class in allem widerhallen.

Solutions Collecting From Web of "Echo einer CSS-class basierend auf der Kategorie des Posts in einer Liste"

get_category('91') immer ein Objekt mit den Daten der Kategorie 91. Das bedeutet, dass Ihre if-statement immer als wahr zurückgegeben wird. Sie müssen die aktuelle iterierte Posts Kategorie ID erhalten und dann prüfen, ob es 91 ist.

  $categories = get_the_category();  $category_id = $categories[0]->cat_ID;  
< ?php the_category(); ?>

Dies ist, was ich am Ende auf der Grundlage von Hilfe codiert habe. Ich habe das PHP verwendet, um die Kategorie zuzuweisen. cat_ID; ?>

Dann setze ich das über das eigentliche Element, wo ich die Logik erstellt habe, um die entsprechende class zuzuordnen

PHP

 
< ?php the_category(); ?>