【发布时间】:2012-08-14 01:06:21
【问题描述】:
我正在尝试创建一个侧边栏导航菜单,该菜单会根据站点中的当前位置进行更改。
这是整个导航的样子:
- 首页
- 关于我们
- 1a 级
- 1b 级
- 1c 级
- 程序
- 1d 级
- 2a 级
- 2b 级
- 1e 级
- 2c 级
- 2d 级
- 1f 级
- 1d 级
- 联系我们
目前我正在使用自定义导航菜单为主页创建菜单,以便他们可以通过管理面板中的菜单链接编辑自定义菜单。他们不希望联系人页面上有侧边栏导航菜单。
在关于我们的页面上,他们希望侧边栏导航看起来像这样:
- 1a 级
- 1b 级
- 1c 级
在“程序”页面上时,他们希望它看起来像这样:
- 1d 级
- 1e 级
- 1f 级
在 1d 级页面上时,他们希望它看起来像这样:
-
1d 级
- 2a 级
- 2b 级
- 1e 级
- 1f 级
确保子页面仅显示给当前父页面。
在 2a 级页面上时,他们希望它看起来与在 1d 级页面上一样:
- 1d 级
- 2a 级
- 2b 级
- 1e 级
- 1f 级
另外需要注意的是,我需要能够以不同于其他项目的方式设置当前页面列表项的样式,因此需要添加某种当前页面项类每次都列出项目。
到目前为止,我无法在 Level 1d 上仅打印当前父级的子级。 wp_list_pages 允许您设置深度,但不限于仅当前父级。它还打印所有兄弟姐妹的孩子(即,如果在级别 1d 上,它会打印其各自父母下的所有 2 级孩子,而不是仅打印当前活动父母下的 2 级孩子)。
我该怎么做?
<?php $current_section = "";
if(is_front_page()):
$current_section = "home";
$nav_args = array(
'theme_location' => $current_section,
'container' => 'nav',
'container_class' => 'side-nav'
);
wp_nav_menu( $nav_args );
else:
endif;?>
这就是我目前所拥有的。我已经删除了 else 块中的所有代码,因为它仍然不起作用。
【问题讨论】: