我希望我的自定义导航菜单具有值为“navigation”的属性“role”。 wp_nav_menu()似乎不接受属性参数。我错过了什么吗?
<nav role="navigation">...</nav>
答案 0 :(得分:3)
正在寻找一段时间,但后来看到你可以将'container'设置为false。
<nav role="navigation">
<?php
$defaults = array(
'container' => false,
'items_wrap' => '<ul>%3$s</ul>'
);
wp_nav_menu( $defaults );
?>
</nav>
返回一个中间没有div的简单导航。
答案 1 :(得分:1)
有点晚了,但这是怎么做的:
<?php
echo strip_tags( wp_nav_menu( array(
'echo' => false,
'items_wrap' => '<nav role="navigation">%3$s</nav>',
) ), '<a><nav>' );
?>
答案 2 :(得分: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 );