有没有办法使用WordPress菜单进行页面内子导航?

有没有办法使用WordPress菜单进行页面内子导航?,wordpress,menu,navigation,sidebar,Wordpress,Menu,Navigation,Sidebar,我想澄清这个问题:我想使用“外观>菜单”部分来管理主导航,并且能够将第一级子导航放置在页面侧边栏中(cherry pick,菜单的一部分)。我不想使用wp\u list\u页面等。我希望能够从“外观>菜单”管理导航的两个方面 有没有一种简单的方法不用编写我自己的walker就可以做到这一点?您可以在“外观>菜单”中创建一个新菜单,并使用将其显示在您想要的任何位置。当然,您需要更改“Project Nav”新菜单的名称 有关该功能的完整信息,请参见以下代码: 例如,如果您有一个名为Sub Nav

我想澄清这个问题:我想使用“外观>菜单”部分来管理主导航,并且能够将第一级子导航放置在页面侧边栏中(cherry pick,菜单的一部分)。我不想使用
wp\u list\u页面
等。我希望能够从“外观>菜单”管理导航的两个方面


有没有一种简单的方法不用编写我自己的walker就可以做到这一点?

您可以在“外观>菜单”中创建一个新菜单,并使用
将其显示在您想要的任何位置。当然,您需要更改“Project Nav”新菜单的名称

有关该功能的完整信息,请参见以下代码:

例如,如果您有一个名为Sub Nav menu的菜单,您将使用:

只需将整个php行放在模板文件中希望菜单出现的位置,不要忘记将菜单名称更改为新菜单的名称


我希望这就是你想要的。如果没有,请告诉我们,我们会让您走上正确的方向。

@alibaster的解决方案可行,但确实需要多个导航菜单。如果您的目标是从单个菜单管理所有菜单项,则可以根据布局使用绝对定位:

.menu-item {
    position:relative;
}
.menu-item .sub-menu {
    display:none;
}
.current-menu-ancestor .sub-menu {
    display:block;
    position:absolute;
    left:0;
    top:100px;
}
您可以使用“walker”参数自定义wp_nav_菜单调用的输出:


把这个小片段放在你想放的任何地方。我添加了一个“if”条件,这样如果您还没有为它指定菜单,它就不会显示任何代码

<?php 
if ( has_nav_menu( 'sub-menu' ) ) {
wp_nav_menu( array( 
'theme_location'  => 'sub-menu',
)); 
} ?>


如果您想继续添加这些菜单,可以将“子菜单”的名称更改为您喜欢的任何名称。关于它的更多信息,请访问

我完全理解您的问题,即使这条线索很旧。我想知道你是否成功地解决了这个问题

我一直看到这个问题。我看过数百个很棒的Wordpress主题,真的很棒。但没有一个能很好地解决“侧边栏菜单”问题。列出所有页面。。这些都很好,但是让“主动家长”必须在侧边栏中显示菜单,而不仅仅是在顶部,这有一些巨大的好处


我会继续研究的。一种方法是使用wp_nav_菜单两次,一次用于顶部,一次用于侧边栏-使用相同的“菜单”。但是使用css隐藏当前未激活的顶级项目。这不是最好的方法,但仍然。。这是一种方式;)

谢谢,但不是我想要的。。我已经有了“主导航”菜单设置。。现在在子页面上,我想引用该菜单,并在侧边栏中选择子页面来解决内部页面无问题。我想我不太明白你想做什么。这就是我们目前正在做的,使用wp_nav_菜单两次。。我们使用CSS隐藏子菜单,等等。。。我们还使用自定义类来表示仅侧边栏和仅主链接(可以在菜单编辑器中为每个链接添加这些链接)。。。另一种方法是简单地创建两个菜单并分别管理两个菜单