Perché l'argomento container non funziona in wp_nav_menu()?
6 feb 2015, 09:44:12
Visualizzazioni: 920
Voti: 0
Il seguente codice genera un menu ma manca il tag container <nav>
.
$menu_settings = array(
'menu' => 'Packages',
'container' => 'nav', // Specifica il tag container
'container_class' => '', // Classe CSS per il container
'container_id' => '', // ID per il container
'menu_class' => 'menu', // Classe CSS per il menu
'menu_id' => '', // ID per il menu
'echo' => true, // Se restituire o stampare il menu
'fallback_cb' => 'wp_page_menu', // Callback di fallback
'before' => '', // Testo prima del link
'after' => '', // Testo dopo il link
'link_before' => '', // Testo prima del testo del link
'link_after' => '', // Testo dopo il testo del link
'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul>', // Wrap per gli elementi del menu
'depth' => 0, // Profondità del menu
'walker' => '', // Walker personalizzato
'theme_location' => 'primary' // Posizione del tema
);
?>
<?php wp_nav_menu( $menu_settings ); ?>
Questi menu sono registrati in functions.php:
register_nav_menus( array(
'primary' => __( 'Packages Menu', 'nameoftheme'), // Menu principale
'secondary' => __( 'Services Menu', 'nameoftheme' ), // Menu secondario
) );
Viene renderizzato solo un <ul>
con gli elementi della lista. Anche gli elementi della lista non sono wrappati.

codecowboy
1.78K
Commenti
Tutte le risposte alla domanda
1
1
Poiché utilizzo il framework di tema roots, questa riga rimuove l'argomento 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
Domande correlate
1
risposte
2
risposte
1
risposte