web-dev-qa-db-fra.com

Ajoutez <span> dans la sortie <li> de <? wp_nav_menu ()?>

Je suis en train d'imprimer:

<?php wp_nav_menu( array( 'theme_location' => 'primary' ) ); ?>

Quelles sorties:

<div class="menu">
<ul>
<li class="current_page_item">Frontpage</li>
<li class="page_item page-item-2">etc</li>
</ul>
</div>

Dans ma configuration HTML originale, ive a un <span> dans le <li> qui ressemble à ceci:

<div id="menu">
  <ul>
    <li>
      <span>
        <a href="#">Menu1</a>
      </span>
    </li>

Des idées sur la façon d'ajuster cela?

1
user1231561

Utilisez les arguments before et after:

wp_nav_menu(
    array(
        'theme_location' => 'primary',
        'menu_class' => 'nav-menu',
        'before' => '<span>',
        'after' => '</span>'
    )
);

Pour voir comment ces arguments sont utilisés, regardez la méthode start_el() dans Walker_Nav_Menu:

    $item_output = $args->before; // 'before'
    $item_output .= '<a'. $attributes .'>';
    $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after;
    $item_output .= '</a>';
    $item_output .= $args->after; //'after'
1
fuxia