个性化阅读
专注于IT技术分析

如何合并在wordpress中单独管理的两个菜单以在前端主题中显示为一个?

我正在为已经建立在wp上的网站创建wp主题, 并且具有非常大的菜单, 该菜单在wp admin中分为两个菜单。

我想将这两个菜单合并到单个UL中。当前, 它在不同的div容器和ul li中生成两个菜单, 并破坏了应用于其的样式和js。

如何将这两个菜单合并到单个容器中的单个ul中?


#1


好的, 所以如果你使用的是wp_nav_menu()

尝试使用类似的东西

<ul id="MyMenu">
  <?php wp_nav_menu( array('menu' => 'FirstMenu', 'items_wrap' => '%3$s' ) ); ?>
  <?php wp_nav_menu( array('menu' => 'SecondMenu', 'items_wrap' => '%3$s' ) ); ?>
</ul>

使用items_wrap将从每个菜单中删除ul, 因此将菜单封装在已经定义的ul标签中, wp_nav_menu只会吐出li标签。

请参阅卸下ul包装:http://codex.wordpress.org/Function_Reference/wp_nav_menu

中号


#2


问题在于, 每个wp_nav_menu仍被包装在各个div中。你还需要通过为每个div添加”‘container’=> false”来关闭这些div, 如下所示:

<ul id="MyMenu">
  <?php wp_nav_menu( array('menu' => 'FirstMenu', 'items_wrap' => '%3$s', 'container' => false ) ); ?>
  <?php wp_nav_menu( array('menu' => 'SecondMenu', 'items_wrap' => '%3$s', 'container' => false ) ); ?>
</ul>

#3


你可以将它们与该方法结合使用。它保留了WP生成的某些菜单类。

// two WordPress menus combined into one.
// first menu.
$menu = wp_nav_menu( array(
    'theme_location'=> 'secondary', // or whatever location
    'fallback_cb'   => false, 'container'     => '', 'items_wrap' => '%3$s', 'echo' => false
) );
// include all of the menu items from the first inside the second menu.
wp_nav_menu( array(
    'theme_location' => 'primary', // or whatever location
    'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s ' . $menu . '</ul>', ) );
赞(0)
未经允许不得转载:srcmini » 如何合并在wordpress中单独管理的两个菜单以在前端主题中显示为一个?

评论 抢沙发

评论前必须登录!