Отображение подкатегорий на боковой панели при выборе родительской категории - PullRequest
0 голосов
/ 29 апреля 2011

То, чего я пытаюсь добиться в WP 3.1.x с помощью функции wp_nav_menu, - это создать меню, такое как:

-- 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, которая может быть легко достигнута.

PPS. Возможно ли для этого расширение класса Walker_Nav_Menu?

1 Ответ

3 голосов
/ 04 мая 2011

Если вы создаете подкласс класса Walker_Nav_Menu, вы можете переопределить функцию display_element и условно удалить дочерние элементы, прежде чем они будут зациклены.

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

Это удалит дочерние элементы любого элемента, который не является текущим, поэтому вам нужно будет проверить тип элемента, если вы просто хотите сделать это для категорий. Полный ходок будет выглядеть примерно так: https://gist.github.com/954627

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...