2

我希望我的自定义导航菜单有一个属性“角色”,其值为“导航”。wp_nav_menu() 似乎没有接受属性参数。我错过了什么吗?

<nav role="navigation">...</nav>
4

3 回答 3

4

正在寻找一段时间,但后来发现您可以将“容器”设置为 false。

<nav role="navigation">
<?php
  $defaults = array(
    'container'       => false,
    'items_wrap'      => '<ul>%3$s</ul>'
  );
  wp_nav_menu( $defaults );
?>
</nav>

返回一个简单的导航,中间没有 div。

于 2014-03-07T00:11:13.477 回答
2

有点晚了,但这里是如何做到这一点:

<?php
echo strip_tags( wp_nav_menu( array(
    'echo' => false,
    'items_wrap' => '<nav role="navigation">%3$s</nav>',
) ), '<a><nav>' );
?>
于 2013-01-30T12:22:44.053 回答
0

这是我的方法:

add_filter( 'wp_nav_menu', function( $nav_menu, $args ) {
    if( 'primary' != $args->theme_location || 'nav' != $args->container )
        return $nav_menu;

    $class      = $args->container_class ? ' class="' . esc_attr( $args->container_class ) . '"' : ' class="menu-'. $menu->slug .'-container"';
    $id         = $args->container_id ? ' id="' . esc_attr( $args->container_id ) . '"' : '';
    $search     = '<'. $args->container . $id . $class . '>';
    $replace    = '<'. $args->container . $id . $class . ' role="navigation">';
    return str_replace( $search, $replace, $nav_menu );
}, 10, 2 );
于 2015-01-20T05:47:37.533 回答