WordPress Kategorie Navigation nur dritte Ebene anzeigen

27 Mai 2011

Für ein aktuelles Projekt benötige ich WordPress als CMS. Die Kategorie-Navigation verläuft über drei Ebenen. Die erste und zweite Ebene werden horizontal dargestellt, die dritte Ebene (Enkel-Element) erscheint lediglich auf den Artikelseiten in der Sidebar. Dort sollen in der Sidebar nur die Kind – Elemente der aktuellen zweiten Ebene erscheinen (also die dritte Ebene – aber eben nicht alle Elemente der dritten Ebene).

Für die Umsetzung greife ich auf wp_list_cats in Verbindung mit child_of zurück.

wp_list_cats('orderby=name&title_li=&child_of=);

Der Artikel wird in der dritten Navigationsebene einsortiert, somit benötige ich die ID der aktuellen zweiten Ebene, um dann mit child_of= die dritte Ebene auszugeben.

Auf wpseek.com fand ich den Ansatz für die Lösung:

if( is_category() ) {
$q_cat = get_query_var('cat');
$cat = get_category( $q_cat );
echo $cat->category_parent; // Print the ID
}

Mit diesem Code erhalte ich u.a. die ID der aktuellen zweiten Ebene.

Dieser wird nun folgendermaßen an meine Bedürfnisse angepasst:

$q_cat = get_query_var('cat');
$cat = get_category( $q_cat );
$mycat = $cat->category_parent;
wp_list_cats('orderby=name&title_li=&child_of=' . $mycat);

Lars Autor: Dieser Artikel wurde am 27.Mai 2011 von Lars veröffentlicht und wurde unter programmierung abgelegt. Lars ist selbstständiger Mediengestalter und entwickelt seit 2007 Webseiten auf Basis von Wordpress. Dieser Blog dient ihm als Spielwiese für Wordpress, html5 und css3.

Sag deine Meinung.

Liebe Kommentarspammer - Spart uns die Arbeit.
Keine Keywords oder Domainnamen im Link.

Kommentare werden erst nach der Freigabe sichtbar...