вот один из самых ярких из вас:
Я создал огромный динамический список дочерних страниц.
У меня есть 3 уровня, вот пример:
- Родитель
- ребенок
- дочерний ребенок
- дочерний ребенок
- дочерний элемент
- дочерний элемент
Вот как необходимо для работы:
Находясь на родителе, показать это:
При нажатии на ребенка, у которого есть сабы, нужно показать это:
- Родитель
- дочерний (текущий)
- дочерний
- дочерний
(то же самое будет показано, если пользователь перейдет к дочернему элементу)
Вот когда у меня возникают проблемы: я использую wp_list_pages
для генерацииВ списках и глубине, чтобы показать подпрограммы, когда мне нужно, проблема в том, что она дает мне все подпрограммы в стеке, хотя мне нужны только подпрограммы текущей страницы (или предка текущих страниц, который будетпервый дочерний элемент в дереве), который будет показан, а остальные дочерние элементы будут скрыты при отображении всех дочерних элементов.
Таким образом, вместо отображения списка выше, он дает мне полный список:
- Parent
- child (текущий)
- child
- child
Теперь я могу легко получить список текущихбратья и сестры, могут получить дочерние элементы тока, это место в дереве, нет проблем, я даже могу решить эту проблему, разделив вывод wp_list_pages
и подняв ток наверх, его подпрограммы находятся под ним и на других не открытых страницахниже этого, но это не цель.
Так, есть кто-нибудь, кто может понять это?
С другой стороны: Вот не очень кошерный обходной путь jQuery, который я сделал (удалив ненужные элементы с помощью javascript), проблема все еще остается, можем ли мы заставить WordPress сделать это без хаков javascript?
$("#side_nav li").not(".current_page_item").not(".current_page_ancestor").not(".current_page_parent").has("ul.children").children("ul.children").remove();