我正在为已经建立在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>', ) );
评论前必须登录!
注册