【问题标题】:How to remove containing div and add a class to ul using wp_nav_menu()?如何使用 wp_nav_menu() 删除包含的 div 并向 ul 添加一个类?
【发布时间】:2013-12-27 01:08:17
【问题描述】:

我想生成这个标记:

    <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>

我做错了什么?

【问题讨论】:

  • 由于您尝试使用特殊的 CSS 格式,是否要使用它?
  • 是的,我正在尝试使用引导主题,所以我需要按照主题的预期格式化标记。
  • 你能从你的functions.php中发布相关的行吗?

标签: php html wordpress menu wordpress-theming


【解决方案1】:

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

【讨论】:

    【解决方案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 函数设置所有参数不要删除参数,只需将它们留空即可。

    【讨论】:

      猜你喜欢
      • 2014-05-09
      • 2015-02-10
      • 1970-01-01
      • 2021-07-08
      • 2011-04-11
      • 2017-01-23
      • 2011-10-16
      • 2013-02-11
      • 1970-01-01
      相关资源
      最近更新 更多