Sie können dies mit wp_nav_menu nicht tun, da es Listenelemente ausgibt und Sie mit Ihrem Code ein ungültiges Markup generieren.
Versuchen Sie stattdessen, wp_get_nav_menu_items () zu verwenden.
Eine schnelle Lösung für ein Dropdown-Menü mit einem benutzerdefinierten Walker:
class Walker_Nav_Menu_Dropdown extends Walker_Nav_Menu{
// don't output children opening tag (`<ul>`)
public function start_lvl(&$output, $depth){}
// don't output children closing tag
public function end_lvl(&$output, $depth){}
public function start_el(&$output, $item, $depth, $args){
// add spacing to the title based on the current depth
$item->title = str_repeat(" ", $depth * 4) . $item->title;
// call the prototype and replace the <li> tag
// from the generated markup...
parent::start_el(&$output, $item, $depth, $args);
$output = str_replace('<li', '<option', $output);
}
// replace closing </li> with the closing option tag
public function end_el(&$output, $item, $depth){
$output .= "</option>\n";
}
}
Verwenden Sie es in Ihren Vorlagen wie folgt:
wp_nav_menu(array(
'theme_location' => 'primary', // your theme location here
'walker' => new Walker_Nav_Menu_Dropdown(),
'items_wrap' => '<select>%3$s</select>',
));
<UL>
s :)Ich fand das nützlich:
Sie können den Antworten folgen, um das Dropdown-Menü für den CSS-Code zu vereinfachen.
parent
für Elemente hinzu, die über ein Untermenü verfügendepth
Klasse hinzufügen (depth0, depth1, depth2 ...)füge dein Theme zu function.php hinzu
jetzt in der header.php
header-menu
ersetzt durch den Namen Ihres MenüsCSS-Beispielcode kann der sein
where
#menu-header-menu
- id die Haupt-UL-Liste (Sie müssen dies ebenfalls aktualisieren)quelle
Drop - Down - Menüs Plugin tut die Frage beantworten:
wp_nav_menu
kann nicht verwendet werden , wählen Sie das Menü Dropdown - Liste zu erstellen, während Plugin geschickte bietetdropdown_menu()
Funktion, die die Arbeit bewundernswert macht.quelle