如何根据我所在的级别更改可见菜单

时间:2011-11-02 作者:Tony B

例如,我希望能够根据我所在的站点结构中的哪个级别更改菜单中的可见内容

在顶层页面上:-

HomeLevel 1页面(当前)-Level 2页面

-Level 2 page

-Level 2 page
级别1页面

级别1页面

级别1页面

在level 2页面上:

HomeLevel 1页面(当前页面父级)

-Level 2page (Current)

     -- Level 3 page (child of current)

     -- Level 3 page (child of current)

     -- Level 3 page (child of current)

-Level 2page

-Level 2page

-Level 2page
在level 3页面上

级别1页面

-Level 2page (parent)

    --Level 3 page (current)
这可能吗?我该怎么做?

非常感谢

1 个回复
SO网友:pete_schuster

首先,您应该使用后端的菜单生成器创建菜单,然后使用不同列表项的类来隐藏或显示嵌套在它们下面的UL。例如

li ul { display: none; }
li.current-menu-item ul { display: block; }
li.current-menu-ancestor li ul { display: none; }
li.current-menu-ancestor li.current-menu-item ul { display: block; }
您可以使用此逻辑根据您所在的页面隐藏和显示所有不同级别的菜单。您可能需要处理覆盖显示样式的父类,但这就是想法。如果查看源代码,您将看到可用的类。

结束

相关推荐

Menu API not switching menus?

我正在使用菜单API,我想切换到其他菜单,但出于某种原因,它保留了第一个菜单这是我的密码在函数中。php add_action( \'init\', \'register_my_menus\',10 ); function register_my_menus() { register_nav_menu(\'main-navigation\', \'Main Navigation\'); } 下面是我的主题文件(header.ph