Ebenenauswahlklasse zum WordPress-Navigationsmenü hinzufügen

Lesezeit: 2 Minuten

Ich möchte jedem li Level-Klassen hinzufügen, wenn ich die Ergebnisse von wp_list_pages wiedergebe. Derzeit verwende ich:

<?php

   wp_nav_menu(array('theme_location' => 'main_menu', 'container' => '', 'menu_class' => 'fR clearfix', 'menu_id' => 'nav'));

<?php } ?>

Die gewünschte Ausgabe wäre:

<ul class="menu">
   <li class="page_item page-item-9 level-0 current_page_item"><a href="" title=""></a>
      <ul class="children expanded" style="display: block; ">
        <li class="page_item page-item-40 level-1"><a href="" title=""></a></li>
        <li class="page_item page-item-43 level-1"><a href="" title=""></a></li>
        <li class="page_item page-item-45 level-1"><a href="" title=""></a></li>
        <li class="page_item page-item-47 level-1"><a href="" title=""></a></li>
      </ul>
   </li>
   <!-- So on -->
</ul>

Ist dies möglich, um die gewünschte Ausgabe zu haben? bitte helfen!

Es gibt keinen direkten Weg, dies zu tun.

Sie können den Filter wp_nav_menu_objects verwenden und die Klassen des Menüpunkts manipulieren.

Hier ist der Code für Sie:

<?php
add_filter('wp_nav_menu_objects' , 'my_menu_class');
function my_menu_class($menu) {
    $level = 0;
    $stack = array('0');
    foreach($menu as $key => $item) {
        while($item->menu_item_parent != array_pop($stack)) {
            $level--;
        }   
        $level++;
        $stack[] = $item->menu_item_parent;
        $stack[] = $item->ID;
        $menu[$key]->classes[] = 'level-'. ($level - 1);
    }                    
    return $menu;        
}

Benutzer-Avatar
markratleiste

Verwenden Sie am besten einen benutzerdefinierten Walker, um diese Klasse hinzuzufügen. Sehen
Sauberere Ausgabe für wp_nav_menu() und Verbessern Sie die Ausgabe Ihres WordPress-Navigationsmenüs und T5_Nav_Menu_Walker_Simple — Kern

es wird dir helfen…

<?php wp_list_pages('title_li='); ?>

http://codex.wordpress.org/Function_Reference/wp_list_pages

  • Die Frage bezieht sich auf die Funktion wp_nav_menu, nicht auf wp_list_pages

    – markratledge

    26. Dezember 2011 um 14:04 Uhr

1311790cookie-checkEbenenauswahlklasse zum WordPress-Navigationsmenü hinzufügen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy