web-dev-qa-db-fra.com

comment insérer <a> tag dans <span> tag HTML en conversion de menu wordpress

Je suis en train de convertir un menu non-bootstrap en wordpress. Il n'y a pas de menu déroulant, je ne pense donc pas avoir besoin d'une classe de marcheur. Lorsque je l'inspecte dans Google Chrome, la classe de balises ul est correcte et la valeur li, mais lorsque je visualise la balise a dans le menu html, je peux voir qu'elle comporte une balise span, par exemple:

<a href="home">
  <span>Home</span>
</a>

Mais mon menu wordpress ressemble à ceci:

<a href="home">Home</a>

Le style dont j'ai besoin semble être dans la balise span, mais je ne sais pas comment procéder avec le code de menu actuel.

<div class="menu_wrapper">
    <nav id="menu">
            <?php wp_nav_menu(array(
                'menu_class' => 'menu menu-main',
                'container' => '',
                'theme_location' => 'main_menu'
            ));
            ?>
    </nav>
</div>

Ceci est le menu original:

<div class="menu_wrapper">
    <nav id="menu">
        <ul id="menu-main-menu" class="menu menu-main">
            <li class="current-menu-item">
                <a href="index.html"><span>Home</span></a>
            </li>
            <li>
                <a href=""><span>item1</span></a>
            </li>
            <li>
                <a href=""><span>item2</span></a>
            </li>
            <li>
                <a href=""><span>item3</span></a>
            </li>
        </ul>
    </nav>
</div>
1
user8463989

Vous voudrez utiliser les arguments link_before et link_after pour le wp_nav_menu. Définissez-les sur '<span>' et '</span>' respectivement.

wp_nav_menu( [
  'menu_class'     => 'menu menu-main',
  'container'      => '',
  'theme_location' => 'main_menu',
  'link_before'    => '<span>',
  'link_after'     => '</span>'
] );
4
Nathan Johnson