web-dev-qa-db-de.com

Fügen Sie <span> innerhalb der <li> -Ausgabe von <? wp_nav_menu ()?>

Ich drucke gerade aus:

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

Welche Ausgänge:

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

In meinem ursprünglichen HTML-Setup habe ich einen <span> innerhalb des <li> erhalten, der so aussieht:

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

Irgendwelche Ideen, wie man das korrigiert?

1
user1231561

Verwenden Sie die Argumente before und after:

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

Sehen Sie sich die Methode start_el() in Walker_Nav_Menu an, um zu sehen, wie diese Argumente verwendet werden:

    $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