Anda tidak dapat melakukan ini dengan wp_nav_menu, karena menampilkan item daftar, dan Anda akan menghasilkan markup yang tidak valid dengan kode Anda.
Coba gunakan wp_get_nav_menu_items () sebagai gantinya.
Solusi cepat untuk menu tarik turun dengan walker khusus:
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";
}
}
Di template Anda gunakan seperti ini:
wp_nav_menu(array(
'theme_location' => 'primary', // your theme location here
'walker' => new Walker_Nav_Menu_Dropdown(),
'items_wrap' => '<select>%3$s</select>',
));
<UL>
:) bersarangSaya telah menemukan itu berguna:
Anda dapat mengikuti respons apa pun untuk menyederhanakan menu dropdovn kode css.
parent
untuk item yang memiliki submenudepth
kelas (depth0, depth1, depth2 ...)tambahkan ke function.php tema Anda
sekarang di header.php
header-menu
diganti dengan nama menu AndaContoh kode CSS mungkin
di mana
#menu-header-menu
- id daftar UL utama (Anda juga perlu memperbarui itu)sumber
Dropdown Menu Plugin tidak menjawab pertanyaan:
wp_nav_menu
tidak bisa digunakan untuk membuat pilih menu dropdown, sedangkan plugin menyediakan bagusdropdown_menu()
fungsi yang melakukan pekerjaan yang mengagumkan.sumber