Estoy tratando de eliminar el contenedor de la función wp_nav_menu().
Pasé contenedor => falso a la matriz de argumentos y agregué un gancho en mi functions.php, pero aún muestra el envoltorio.
function my_wp_nav_menu_args( $args )
{
$args['menu'] = false;
$args['menu_class'] = false;
$args['container'] = false;
$args['container_class'] = false;
$args['show_home'] = true;
return $args;
}
¿Alguna idea de por qué?
daveaspinall
Lectura del códice: Referencia de función/menú de navegación wp
Es posible que deba configurar la ubicación del tema en su archivo functions.php y luego asignarle su menú.
Esto es lo que dice el códice:
Para eliminar el contenedor de navegación, la ubicación del tema especificada en functions.php y utilizada entre los argumentos en la función wp_nav_menu (por ejemplo, ‘theme_location’ => ‘primary-menu’) debe tener un menú asignado en la administración. De lo contrario, se ignora el argumento ‘contenedor’ => ‘falso’.
Si necesita registrar una ubicación, puede usar lo siguiente:
// This theme uses wp_nav_menu() in one location.
register_nav_menus( array(
'primary' => __( 'Primary Navigation', 'Your_Theme' ),
) );
Luego pásalo en el wp_nav_menu()
función
wp_nav_menu( array( 'theme_location' => 'primary', 'container' => false ) );
¡Espero que esto ayude!
Pasé nulo al contenedor y el menú no está envuelto en la etiqueta div.
wp_nav_menu(
array('menu' => 'Bočni',
'container' => null
)
);
Creo que el tipo de datos booleano no está disponible para estos parámetros, lea esto Referencia de función/menú de navegación wp
Entonces, la mejor manera de eliminar este contenedor div, reemplazarlo con ul, como este ejemplo
wp_nav_menu( array(
'menu' => 'header-nav_menu',
'theme_location' => 'header-nav_menu',
'container' => 'ul', //To replace div wrapper with ul
'menu_class' => 'YOUR CLASS'//Add classes to your ul
)
);
wp_nav_menu(array(
'container' => '',
'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul>',
'theme_location' => 'footer-1',
));
Un menú existente debe estar asociado a su ubicación (‘pie de página-1’ en mi ejemplo), de lo contrario, siempre hay un contenedor div.
En mi caso "container" => false
no funciona, solo funciona cuando escribes
"items_wrap" => "%3$s"
pero elimina todas las envolturas, incluidas <ul>
si quieres eliminar <div>
y tenga su menú envuelto en <ul>
Recomiendo hacerlo de esta manera.
wp_nav_menu(array(
'theme_location' => 'header_menu',
'menu' => 'header_menu',
'items_wrap' => '<ul>%3$s</ul>',
'container' => false,
'menu_class' => 'nav',
'list_item_class' => 'nav-item',
'link_class' => 'nav-link',
'menu_id' => 'menu-main-menu'
));