我正在尝试创建一个侧边栏导航菜单,该菜单会根据站点中的当前位置进行更改。
这是导航的整体外观:
- 家
- 关于我们
- 1a级
- 1b级
- 1c级
- 程式
- 1d 级
- 2a 级
- 2b级
- 1e级
- 2c级
- 2d 级
- 1f级
- 1d 级
- 联系我们
目前我正在使用自定义导航菜单为主页创建菜单,以便他们可以通过管理面板中的菜单链接编辑自定义菜单。他们不希望在联系页面上有侧边栏导航菜单。
在关于我们的页面上,他们希望侧边栏导航看起来像这样:
- 1a级
- 1b级
- 1c级
在“程序”页面上,他们希望它看起来像这样:
- 1d 级
- 1e级
- 1f级
在 Level 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 块中的所有代码,因为它无论如何都不起作用。