Le paramètre 'items_wrap'
par wp_nav_menu()
défaut est:
'<ul id="%1$s" class="%2$s">%3$s</ul>'
Ce modèle aa est analysé avec sprintf()
:
$nav_menu .= sprintf(
$args->items_wrap
, esc_attr( $wrap_id ) // %1$s
, esc_attr( $wrap_class ) // %2$s
, $items // %3$s
);
Les espaces réservés numérotés - %1$s
, %2$s
, %3$s
- se réfèrent aux arguments après le premier argument sprintf()
. Le signe de pourcentage marque un espace réservé, le nombre la position et le type s
signifie qu'il doit être traité comme une chaîne.
Ne changez pas le type sauf si vous savez vraiment ce que vous faites. :)
$wrap_id
est le paramètre 'menu_id'
si vous l'avez défini, sinon il l'est 'menu-' . $menu->slug
.
$wrap_class
est le paramètre 'menu_class'
si vous l'avez défini, sinon il est vide.
$items
est une chaîne du contenu interne du menu.
Disons que vous n'avez pas besoin d'un class
. Oubliez simplement la deuxième chaîne:
wp_nav_menu( array( 'items_wrap' => '<ul id="%1$s">%3$s</ul>' ) );
Si vous n'avez pas besoin de class
et id
, et que vous voulez un autre conteneur (car vous avez utilisé un lecteur personnalisé ):
wp_nav_menu( array( 'items_wrap' => '<div>%3$s</div>' ) );
Le point principal est: Vous devez utiliser les numéros pour les remplacements indiqués dans wp_nav_menu()
. %3$s
est toujours la liste des éléments.
items_wrap
comment vous y prendriez-vous?D'après ce que je comprends, il saisit une sortie et donne au li un identifiant et une classe avec le nom du menu. Ainsi, lorsque vous souhaitez attribuer un style à un menu particulier, vous devez saisir son identifiant et / ou votre classe si vous souhaitez le personnaliser. le 1 et 2 est juste une sortie différente.
la source