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);
Autor: Dieser Artikel wurde am 27.Mai 2011 von
Sag deine Meinung.
Liebe Kommentarspammer - Spart uns die Arbeit.
Keine Keywords oder Domainnamen im Link.
Kommentare werden erst nach der Freigabe sichtbar...