侧边栏中的WordPress动态页面树菜单

问题描述:

我试图根据当前活动的*页面生成页面树子菜单列表。该comlete页面树如下:侧边栏中的WordPress动态页面树菜单

1.0.0首页项目

  • 1.1.0子页面项目
    • 1.1.1孙子页面项目
    • 1.1.2孙子页面项目
  • 1.2.0子页面项目
    • 1.2.1孙子页面项目
    • 1.2.2孙子页面项目
  • 1.3.0子页面项目
    • 1.3.1孙子页面项目
    • 1.3.2孙子页面项目

2.0 .0首页商品

3.0.0首页商品

(第二和第三顶页面项目也有类似的层次)

我想在我的sidebar.php有以下行为的页面树:

  • 只有当前活动首页及其所有子并且所有 他们的孙子们在浏览此特定首页时展开 分支
  • 当前页面项目和当前父项突出显示。
  • 其他页面顶部的项目被隐藏

我的短,这意味着整个工具栏菜单顶部的页面之间移动时变化,但仍然是一个每个页面顶部的分支/导航内保持不变下降到单页。

此外,我想按菜单顺序显示页面项目。

有没有人有一个代码片段og想法如何实现这一目标?

+0

永远不要忘记在这样的问题中添加一些代码片段,它可以帮助像我这样的用户理解问题,以及如何解决它 – Machado

啊,我设法解决它。最初我无法弄清楚当前页面项目类已经去了哪里。它在单页级别上工作,但不在父级或祖先级别上工作。我不得不在模板中的侧边栏之前插入以下内容: <?php wp_reset_query(); ?> 这会刷新该错误。其次,我选择隐藏所有页面项目与CSS显示:无;并且只显示带有current_page_item,current_page_parent和current_page_ancestor的页面项目以及display:block ;.

最后但并非最不重要以下是获取位于我的侧栏页面列表代码: <?php wp_list_pages('sort_column=menu_order'); ?>

就是这样,就是这样!

完美的作品!

但是,我不是PHP大师,所以如果任何人都可以给我一个更优雅的方法我所有的耳朵!