如何删除包含div并使用wp_nav_menu()将类添加到ul?

时间:2013-12-09 19:19:02

标签: php html wordpress menu wordpress-theming

我想生成这个标记:

    <ul class="nav barbar-nav">
        <li>...</li>
        <li>...</li>
        <li>...</li>
    </ul>

从阅读wordpress function reference for the wp_nav_menu函数我认为我应该称之为:

wp_nav_menu( array( 'theme_location' => 'main-menu', 'container' => false, 'menu_class' => 'nav barbar-nav' ) );

但是当我运行时,我得到以下内容:

<div class="nav barbar-nav">
    <ul>
        <li>...</li>
        <li>...</li>
        <li>...</li>
    </ul>
</div>

我做错了什么?

2 个答案:

答案 0 :(得分:2)

<?php $args = array(
                'menu'            => 'main-menu', 
                'container'       => '', 
                'container_class' => 'false', 
                'container_id'    => '',
                'menu_class'      => 'nav barbar-nav', 
                'echo'            => true,
                'fallback_cb'     => 'wp_page_menu',
                'before'          => '',
                'after'           => '',
                'items_wrap'      => '<ul id="%1$s" class="%2$s">%3$s</ul>',
                'depth'           => 0,
      ); ?>
      <?php wp_nav_menu( $args); ?>

尝试在下面设置wp_nav_menu函数的所有参数。不要删除参数,只需将它们留空。

答案 1 :(得分:0)

这很令人困惑,但这就是fallback_cb格式化的方式(参见wp_page_menu)。将实际导航菜单指定给主题位置后,标记将按预期进行。当显示后备菜单时,您可以编写自己的回调以获得类似的标记。