Gutscheine-Live.de

Gutscheinfinder für Browser

Aktuelle Gutscheine, Deals und lokale Angebote

mehr infos

WordPress aktuelle Artikel-Kategorie hervorheben

WordPress hat viele tolle Funktionen integriert wodurch z.B. die jeweils aktuelle Seite im Menü markiert werden kann oder auch die Kategorie in der man sich gerade befindet. Ich wollte jedoch die in meinem Menü die Kategorie hervorheben in welcher der Beitrag, den man gerade liest, veröffentlicht wurde. Leider bietet WordPress hier keine fertige Funktion für an.

Ein Blick in die Dokumentation der Funktion wp_list_categories(), welche die Beiträge auflistet, half mir jedoch schnell weiter. Diese Funktion hat einen optionalen Parameter current_category, mit dem man die ID einer Kategorie übergeben kann, welche hervorgehoben werden soll. Jetzt fehlte mir nur noch eine Möglichkeit wie man die ID, des aktuell angezeigten Beitrages, herausbekommt.

Hierfür gibt es in WordPress die Funktion get_the_category(). Diese Funktion gibt ein Array mit allen verwendeten Kategorien eines gewünschten Beitrages zurück. Da ich immer nur eine Kategorie hervorheben wollte, entschied ich mich dafür immer nur die erste Kategorie (Array-Index 0) hervorzuheben.

Zu beachten ist hierbei, dass diese Funktion nur bei Beiträgen angewendet werden sollte, da ansonsten falsche Kategorien hervorgehoben werden. Wenn zum Beispiel ein Beitrag mehreren Kategorien zugewiesen wird, und man dann das Archiv einer bestimmten Kategorie anschaut, kann es passieren, dass nicht die angezeigte Kategorie hervorgehoben wird, sondern eine der anderen zugeordneten Kategorien.

Mein fertiger Code sieht so aus:


if (is_single())
{
$post_category = get_the_category();
$currentCategory = $post_category[0]->cat_ID;
}else{
$currentCategory = '';
}
wp_list_categories(array('hide_empty' => '0', 'current_category' => $currentCategory ));

Wie Ihr die Kategorie hervorheben möchtet könnt ihr übrigens mit der CSS-Klasse current-cat festlegen.

Aktualisiert am

Schlagwörter: ,

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>