Eliminar el envoltorio div y ul de la salida de wp_nav_menu

13

Estoy usando el nuevo sistema de menú de Wordpress, y aquí está el resultado de 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>

Lo que quiero es solo esto:

<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, envolviendo div o ul, he estado intentando varias maneras y buscando en Google, pero ningún resultado :(

    
pregunta fuxia 05.10.2010 - 04:50

5 respuestas

23

El div envoltorio es fácil. Cuando uses wp_nav_menu() , agrega este argumento: 'container' => false

Para el elemento <ul> , hay un argumento llamado 'items_wrap' . Vea la respuesta de woodchucky para obtener más información sobre eso (y vuélvalo a promocionar).

    
respondido por el John P Bloch 05.10.2010 - 05:26
27

wp_nav_menu() acepta un parámetro no documentado

'items_wrap' = > ' <ul id="%1$s" class="%2$s">%3$s</ul> '

Esto es ejecutado por: $nav_menu .= sprintf( $args->items_wrap, esc_attr( $wrap_id ), esc_attr( $wrap_class ), $items );

puedes jugar con los argumentos del sprintf

ej: 'items_wrap' = > '% 3 $ s' eliminaría la etiqueta de envoltura <ul>

    
respondido por el woodchucky 29.03.2011 - 03:59
4

Para dar salida solo a Li, agregue esto a wp_nav_menu array:

'container'      => '',
'items_wrap'    => '%3$s',
    
respondido por el Mill 08.05.2015 - 13:55
2

'container' => false estaba fallando porque estaba especificando un 'theme_location' y 'menu' no existentes. Funcionó tan pronto como lo arreglé.

Solución de: wordpress.org/support

    
respondido por el Mirko 04.06.2014 - 22:32
0

Para filtrar el div envoltorio:

add_filter('wp_nav_menu_args', 'prefix_nav_menu_args');
function prefix_nav_menu_args($args = ''){
    $args['container'] = false;
    return $args;
}
    
respondido por el Chris_O 26.04.2011 - 02:54

Lea otras preguntas en las etiquetas