是否从wp_NAV_MENU中分别显示三个不同级别的导航?

时间:2012-12-15 作者:Matt Sephton

我有一个三级导航设置使用Wordpress菜单生成器。

结构:

A
-1
-Y
-Z
-2
-3
B
C

我希望在页面的不同区域单独显示每个级别的导航。突出显示当前项目。

在A、B或C页上,我想显示:A B C(我可以使用深度为1的wp\\U nav\\U菜单)

在第1*、2或3页上,我想显示:A B C和1 2 3
在第1*、Y或Z页上,我想显示:A B C、1 2 3和Y Z

对于当前选定的菜单项,是否有任何简单的方式显示第二级和第三级导航?

重要的是,我需要能够单独显示每个“级别”菜单。

谢谢

3 个回复
最合适的回答,由SO网友:Matt Sephton 整理而成

我最后做的是设置三个侧栏,每个侧栏使用Advanced Menu Widget 和设置如下:

侧栏
1。主导航:从0级开始,显示1级深度,显示所有项目。二级导航:从1级开始,显示2级深度,仅显示严格相关的子项
3。三级导航:从2级开始,显示3级深度,仅显示严格相关的子项

这给了我很大的控制力。

SO网友:Scott Kingsley Clark

如果您真的需要更多的控制,您可以尝试获取项目列表并自己构建它,而不需要Walker类所涉及的复杂性。

http://codex.wordpress.org/Function_Reference/wp_get_nav_menu_items

SO网友:Mridul Aggarwal

最简单的方法是覆盖walk() 使用时自定义walker中的方法wp_nav_menu

有关参考,请参阅walk() 方法内部Walker_Nav_Menu 班该代码首先分隔所有顶级菜单项&;分别放置所有子菜单项。在那里,您可以进一步将它们分开,以使用不同的start_el 函数或输出其他一些随机html

结束

相关推荐

Wordpress Custom Menus Issue

在我的模板中,我使用这样的调用来输出一些自定义菜单:<?php wp_nav_menu(array(\'container_class\' => \'secondary-navigation\', \'theme_location\' => \'secondary\')); ?> 自从升级到WordPress 3.1.4后,我就可以获得完整的页面列表,而不是自定义菜单我看到修复程序(通过谷歌)说我应该添加以下内容来修复此问题:\'fallback_cb\' => f