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

时间:2011-09-20 13:29:01

标签: wordpress menu sidebar

我正在尝试根据当前活动的首页级别生成页面树子菜单列表。 comlete页面树如下:

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中的页面树具有以下行为:

  • 仅包含当前活动的首页及其所有子项 他们的孙子们在浏览这个特殊的首页时会扩大 分支
  • 当前页面项目和当前父级已突出显示。
  • 隐藏其他首页项目

我缩短这意味着整个侧边栏菜单在顶页之间移动时会发生变化,但在每个首页的分支/导航中保持不变,直至单页。

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

有没有人有关于如何实现这一目标的代码片段?

1 个答案:

答案 0 :(得分:0)

啊,我设法解决了。最初我无法弄清楚当前页面项目的位置。它在单页级别工作,但不在父级或祖级级别工作。我必须在侧边栏包含在模板中之前插入以下内容: <?php wp_reset_query(); ?> 这冲破了那个错误。

其次我选择用css display隐藏所有页面项:none;并且只显示类current_page_item,current_page_parent和current_page_ancestor的页面项目,显示:block;。

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

就是这样,就是这样!

完美无缺!

但是,我不是个大师,所以如果有人能给我一个更优雅的方法,我全都听见了!