wp_nav_menu()覆盖ul属性

时间:2018-06-20 21:37:22

标签: wordpress twitter-bootstrap nav

我以前已经构建了WP模板,但是我曾经从头开始构建它们,而我没有任何类似的问题。这次我决定使用html5blank样板。现在,我在wp_nav_menu()中遇到了这个问题,其中WordPress覆盖了我尝试在items_wrap中添加的属性:

    wp_nav_menu(
      array(
        'theme_location'  => 'header-menu',
        'menu'            => '',
        'container'       => 'div',
        'container_class' => '',
        'container_id'    => '',
        'menu_class'      => 'menu',
        'menu_id'         => '',
        'echo'            => true,
        'fallback_cb'     => 'wp_page_menu',
        'before'          => '',
        'after'           => '',
        'link_before'     => '',
        'link_after'      => '',
        'items_wrap'      => '<ul class="nav navbar-nav">%3$s</ul>',
        'depth'           => 0,
        'walker'          => ''
      )
    );

WordPress文档指出items_wrap应该正确分配为<ul id="%1$s" class="%2$s">%3$s</ul>。下面还应该有一个应该替换字符串值的过滤器函数,但是没有任何文档可以找到显示该方法的示例。

function my_wp_nav_menu_args($args = '')
{
    $args['container'] = false;
    return $args;
}

2 个答案:

答案 0 :(得分:0)

不知道我是否正确–您是否希望ul元素包含“ nav”和“ navbar-nav”类?然后,您只需要在数组中更改“ menu_class”:

wp_nav_menu(
  array(
    'theme_location'  => 'header-menu',
    'menu_class'      => 'nav navbar-nav'
  )
);

答案 1 :(得分:0)

我通过从阵列中完全删除item_wrap并分配menu_class来解决了这个问题。