web-dev-qa-db-fra.com

Comment ajouter une balise <span> à wp_nav_menu dans un thème enfant

Je crée un site Web avec WordPress et le thème Uncode et je souhaite ajouter une balise <span> au menu principal du thème enfant (dans le 'li', après le 'a') et je ne sais pas comment faire. cette.

Je ne veux pas modifier le thème parent, ajoutez simplement le 'tableau' 'après' dans le wp_nav_menu qui a pour theme_location, la valeur 'primaire'.

Avez-vous une idée? Peut-être avec un "marcheur" (ou autre) dans le thème functions.php de mon enfant? Je ne suis pas un expert en codex PHP/WordPress, avez-vous une solution?

1
Jérémy Debray

La wp_nav_menu() function a une tonne (ou groupe ) de paramètres, ce qui facilite la personnalisation. Je crois que celui que vous recherchez spécifiquement est after qui ajoutera une chaîne passée dans la liste après le lien. Un exemple ressemblerait à ceci:

wp_nav_menu( array(
    'menu'          => 'Main Menu',
    'container'     => 'nav',
    'theme_location'=> 'primary',
    'after'         => '<span></span>',
) );

Et produirait quelque chose comme ceci:

<nav>
    <ul>
        <li><a href="#">Text</a><span></span></li>
    </ul>
</nav>

Vous pouvez également utiliser le code wp_nav_menu_args hook dans functions.php pour modifier les arguments du menu principal:

function modify_main_menu( $args ) {

    if( isset( $args['theme_location'] ) && 'primary' === $args['theme_location'] ) {
        $args['after'] = '<span></span>';
    }

    return $args;
}
add_filter( 'wp_nav_menu_args', 'modify_main_menu' );
3
Howdy_McGee