De ce nu funcționează argumentul container pentru wp_nav_menu()
6 feb. 2015, 09:44:12
Vizualizări: 920
Voturi: 0
Următorul cod afișează un meniu, dar lipsește tag-ul container <nav>
.
$menu_settings = array(
'menu' => 'Pachete',
'container' => 'nav',
'container_class' => '',
'container_id' => '',
'menu_class' => 'menu',
'menu_id' => '',
'echo' => true,
'fallback_cb' => 'wp_page_menu',
'before' => '',
'after' => '',
'link_before' => '',
'link_after' => '',
'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul>',
'depth' => 0,
'walker' => '',
'theme_location' => 'primary' );
?>
<?php wp_nav_menu( $menu_settings ); ?>
Acestea sunt înregistrate în functions.php:
register_nav_menus( array(
'primary' => __( 'Meniu Pachete', 'nameoftheme'),
'secondary' => __( 'Meniu Servicii', 'nameoftheme' ),
) );
Se afișează doar un <ul>
cu elemente de listă. Elementele listei nu sunt înconjurate nici ele.

codecowboy
1.78K
Comentarii
Toate răspunsurile la întrebare
1
1
Deoarece folosesc cadrul tematic roots, această linie elimină argumentul container:
function roots_nav_menu_args($args = '') {
$roots_nav_menu_args = array();
$roots_nav_menu_args['container'] = false;
if (!$args['items_wrap']) {
$roots_nav_menu_args['items_wrap'] = '<ul class="%2$s">%3$s</ul>';
}
if (!$args['depth']) {
$roots_nav_menu_args['depth'] = 2;
}
return array_merge($args, $roots_nav_menu_args);
}
add_filter('wp_nav_menu_args', 'roots_nav_menu_args');

codecowboy
1.78K
6 feb. 2015 13:09:53
Întrebări similare
1
răspunsuri
1
răspunsuri
2
răspunsuri
1
răspunsuri