Rimuovi wrapping div e ul dall'output di wp_nav_menu


17

Sto usando il nuovo sistema di menu di Wordpress, ed ecco il risultato di wp_nav_menu ()

    <div class="menu-main-menu-container">
   <ul id="menu-main-menu" class="menu">
   <li id="menu-item-28" class="menu-item menu-item-type-post_type current-menu-item page_item page-item-21 current_page_item menu-item-28"><a href="http://www.bemang.com/">Trang nhà</a></li>
    <li id="menu-item-29" class="menu-item menu-item-type-post_type menu-item-29"><a href="http://www.bemang.com/blog/">Blog</a></li>
    <li id="menu-item-30" class="menu-item menu-item-type-post_type menu-item-30"><a href="http://www.bemang.com/gioi-thieu/">Giới thiệu</a></li>
    </ul>
   </div>

Quello che voglio è solo questo:

<li id="menu-item-28" class="menu-item menu-item-type-post_type current-menu-item page_item page-item-21 current_page_item menu-item-28"><a href="http://www.bemang.com/">Trang nhà</a></li>
   <li id="menu-item-29" class="menu-item menu-item-type-post_type menu-item-29"><a href="http://www.bemang.com/blog/">Blog</a></li>
   <li id="menu-item-30" class="menu-item menu-item-type-post_type menu-item-30"><a href="http://www.bemang.com/gioi-thieu/">Giới thiệu</a></li>

No, avvolgendo div o ul, ho cercato in alcuni modi e google in giro ma nessun risultato :(

Risposte:


28

Il div avvolgente è facile. Quando si utilizza wp_nav_menu(), aggiungere questo argomento:'container' => false

Per l' <ul>elemento, c'è un argomento chiamato 'items_wrap'. Vedi la risposta di woodchucky per maggiori informazioni su quello (e votalo!).


Grazie mille amico! Ora funziona. Non avevo familiarità con PHP e non sapevo che avrei bisogno di mettere add_filter su Functions.php.

1
Ciò non spiega ancora come rimuovere il div, che piuttosto racchiude il wrap_class spiegato sopra. L'argomento contenitore impostato su false non funziona.
sergio,

2
Se l' containerargomento non funziona, significa che non stai usando wp_nav_menu. Probabilmente stai eseguendo il fallback cb, che per impostazione predefinita wp_page_menu()non riesce a specificare un menu o una posizione di menu con un menu assegnato.
John P Bloch,


5

Per emettere solo li aggiungere questo alla matrice wp_nav_menu:

'container'      => '',
'items_wrap'    => '%3$s',

2

'container' => falsestava fallendo per me perché stavo specificando un non esistente 'theme_location'e 'menu'. Ha funzionato non appena ho risolto questo problema.

Soluzione da: wordpress.org/support


0

Per filtrare il div wrapping:

add_filter('wp_nav_menu_args', 'prefix_nav_menu_args');
function prefix_nav_menu_args($args = ''){
    $args['container'] = false;
    return $args;
}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.