wp_nav_menu将容器包装在它自己的上面

时间:2015-08-04 09:57:40

标签: wordpress

我正在尝试使用以下代码在我的wordpress主题中创建导航菜单:

的functions.php:

add_theme_support('nav_menus');

if(function_exists(register_nav_menus)) {
    register_nav_menus(
        array(
            'main' => 'Main Nav'
        )
    );
}

的header.php:

  <?php wp_nav_menu( array('menu' => 'Main', 'container' => 'nav' )); ?>

这是我得到的结果标记。

结果:

    <div class="menu">
      <ul>
        <li class="page_item page-item-2"><a href="http://localhost/bijiness/sample-page/">Sample Page</a></li>
      </ul>
    </div>

预期结果:

但这是我期待的标记。

    <nav>
      <ul>
        <li class="page_item page-item-2"><a href="http://localhost/bijiness/sample-page/">Sample Page</a></li>
      </ul>
    </nav>

所以,我的问题是:

  1. 为什么不使用nav包装无序列表,我的代码用div包装它?还有

  2. 为什么要在div中添加课程菜单

2 个答案:

答案 0 :(得分:2)

试试这段代码。请参阅this link了解更多信息

 <?php

$defaults = array(
   'menu' => 'main',
   'container' => 'nav',
   'container_class' => 'check',
   'container_id' => '',
   'menu_class' => 'menu',
   'menu_id' => '',
   'echo' => true,
   'fallback_cb' => 'wp_page_menu',
   'before' => '',
   'after' => '',
   'link_before' => '',
   'link_after' => '',
   'depth' => 0,
   'walker' => '',
  'theme_location' => ''
);

wp_nav_menu( $defaults );

?>

输出

<nav class="check">
  <ul id="menu-main-menu" class="menu">
    <li id="menu-item-883" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-883"><a href="http://192.168.1.32/wordpress/about-us/"><span>About Us</span></a></li>
    </ul>
</nav>

答案 1 :(得分:1)

在数组中添加参数,并添加主题位置

  

&#39; container_class&#39; = GT;假

     

&#39; menu_class&#39; = GT;假

     

&#39; theme_location&#39; =&GT; &#39;主&#39;

   wp_nav_menu( array('container' => 'nav', 'theme_location' => 'main' ,'container_class'=>false,'menu_class'=>false));