2

我想找到使用 wp_nav_menu 函数获取特定页面的子列表(存储在外观>菜单选项卡中)的最简单方法。

例如,我有一个名为“primary_navigation”的菜单:

家庭
服务
- 网页
- 设计
- 移动
联系

代码示例

<?php 
wp_nav_menu( array(
'theme_location' => 'primary_navigation',
'container'       => '',
'items_wrap' => '%3$s')
); 
?>

如何仅获取“服务”选项卡内的项目,例如:

  • 网络
  • 设计
  • 移动的

我正在寻找的代码示例...

<?php 
    wp_nav_menu( array(
    'theme_location' => 'primary_navigation',
    'container'       => '',
    'child_of' => 'PARENT_ID'
    'items_wrap' => '%3$s')
    ); 
    ?>

我想使用wp_nav_menu功能,因为客户端更容易管理导航。

谢谢!


更新:
我找到了这个链接:https ://wordpress.stackexchange.com/questions/2802/display-a-portion-branch-of-the-menu-tree-using-wp-nav-menu/2809#2809

它工作,但不完全,我发现它有点复杂。使用此解决方案,我无法通过父 ID 获取子元素,并且名称中的引号似乎有问题。

如果你有更好的方法,我真的很感兴趣!:)

4

1 回答 1

1

我相信我有一个更好的解决方案,在您的示例中,您将指定您正在寻找的 parent_id。我写了一个插件,可以让你简单地指定你想要的 start_depth。因此,如果您想显示二级菜单,而忽略第一级菜单项,您可以将 start_depth 设为 1,如下所示:

wp_nav_plus(array('theme_location' => 'primary_navigation', 'start_depth' => 1));

当然,您需要先安装并激活插件,然后才能开始使用 WP Nav Plus。任何有兴趣的人都可以在我的网站上找到它:https ://mattkeys.me/products/wp-nav-plus/

作为旁注:此功能是我使用过的许多其他内容管理系统的原生功能,我想知道为什么它不是 Wordpress 中的默认选项?我厌倦了所有的变通方法和它们的特殊“怪癖”,以至于我终于编写了自己的解决方案。

于 2013-05-14T01:34:17.963 回答