web-dev-qa-db-fra.com

Ajouter un <span> dans <li> à partir de wp_nav_menu ()

J'essaie de formater la liste produite par wp_nav_menu() de manière à ce que dans chaque <li> se trouve un <span> qui enveloppe le texte. Au début, je pensais pouvoir accomplir cela en utilisant l’argument items_wrap, mais cela ne change que le <ul> qui l’entoure, est-ce exact? Cela semble être assez simple à accomplir. Merci!

1
GoodTimeHaver

Oui, items_wrap permet de modifier ou de remplacer le wrapper <ul> par défaut. Pour envelopper les liens individuels à l'intérieur de cet élément, utilisez simplement link_before et link_after, comme suit:

wp_nav_menu( array( 
    'theme_location' => 'some-location',
    'link_before' => '<span>',
    'link_after' => '</span>',
) );
0
Dave Romsey

Une façon de changer les étiquettes qui enveloppent le menu et ses éléments individuels consiste à créer un lecteur personnalisé. https://codex.wordpress.org/Class_Reference/Walker#General_Menu_Example

0
WebElaine