Dynamisches Menü

Falls Du mal auf die anderen Seiten meiner Webpräsenz geschaut hast, wird Dir aufgefallen sein, dass sich das zweite Menü dynamisch daran anpasst, welche Seite gerade gewählt wurde. Ist vielleicht bei meiner kleinen Seite und der übersichtlichen Menüstruktur überflüssig, aber ich mag sowas. Und wenn ich mal die Muße habe oder ein passendes Template finde, dann werde ich auch noch deutlicher machen, dass sich das zweite Menü abhängig vom gerade besuchten Bereich ändert.

Als kleine Gedankenstütze poste ich hier den Code, den ich dafür benutzt habe. Es kam nämlich vor kurzem ein Update meines eingesetzten Templates und alle zusätzlichen Einträge in der functions.php waren dahin.

#######################
# Dynamic second menu #
#######################

function nr_2010_wp_nav_menu_args($args = '')
{
if ( is_page() && $args['theme_location']=='sub') //custom menus only on sites
{
global $post;
$menu_name = get_post_meta($post->ID, 'menu_name', true);
if( !empty($menu_name) && is_nav_menu($menu_name) )
{
$args['menu'] = $menu_name;
}
}
return $args;
}
add_filter( 'wp_nav_menu_args', 'nr_2010_wp_nav_menu_args' );

Für die eigene Seite muss vor allem die “theme_location” in der if-Abfrage angepasst werden. Bei mir heißt das zweite Menü “sub”, aber das kann bei Deiner Seite ja ganz anders sein. Dazu muss bei den einzelnen Seiten ein benutzerdefiniertes Feld namens “menu_name” eingetragen werden, dem der Name des selbst erstellten Menüs enthält. Also z.B. “menu_name” bei Name und “homemenu” bei Wert.

Vielen Dank an Niklas, der das Ganze bei bueltge.de vorgestellt hat.

Und nun werde ich nicht wieder eine Suchmaschine bemühen müssen, um den Code wiederzufinden. Und den Namen des zweiten Menüs muss ich auch nicht wieder umständlich aus dem Template-Code heraussuchen.

flattr this!

Kommentar schreiben





Metas

Autor: matzle
Datum: 07.01.12 10:05
Tags: , , ,
Vorheriger Artikel: Andreas Eschbach "Ein König für Deutschland"
Nächster Artikel: Blogrenovierung

Ich lese gerade

Das Lied von Eis und Feuer 01: Die Herren von Winterfell
Das Lied von Eis und Feuer 01: Die Herren von Winterfell

Archiv

Lizenz für die Nutzung der Inhalte

Creative Commons Lizenzvertrag

Die Inhalt von matzle.de stehen, soweit nichts anderes vermerkt ist, unter einer Creative Commons Lizenz.

NamensnennungNicht kommerziellWeitergabe unter gleichen Bedingungen