繁体   English   中英

选择父类别时在侧边栏中显示子类别

[英]Displaying sub-categories in sidebar when parent category selected

我试图在 WP 3.1.x 中使用wp_nav_menu function 来实现一个菜单,例如:

-- Category 1
-- Category 2
-- Category 3
-- Category 4
-- Category 5
-- Category 6

但是,当您使用“类别 2”时,它显示为:

-- Category 1
-- Category 2
  -- Sub Category 1
  -- Sub Category 2
  -- Sub Category 3
-- Category 3
-- Category 4
-- Category 5
-- Category 6

PS。 我不是在寻找可以轻松实现的 CSS 隐藏/显示功能。

聚苯乙烯。 扩展Walker_Nav_Menu class 是否有可能的解决方案?

如果您将Walker_Nav_Menu class 子类化,您可以覆盖display_element function 并在循环之前有条件地删除项目的子项。

if (!$element->current && !$element->current_item_ancestor && isset( $children_elements[$id])) {
   unset( $children_elements[ $id ] );
}

这将删除任何非当前项目的子项,因此如果您只想对类别执行此操作,则需要检查项目的类型。 完整的 walker 看起来像这样: https://gist.github.com/954627

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM