Jak ręcznie określić bieżącą aktywną stronę za pomocą wp_nav_menu ()


9

Czy istnieje sposób ręcznego określenia, która strona jest aktualnie „aktywna” podczas korzystania wp_nav_menu()?

Mam stronę „Produkty” i na tej stronie mam linki do różnych (dynamicznych) niestandardowych systematyk. Kiedy klikam jedną z tych taksonomii, pozostaję na stronie „Produkty”, ale wp_nav_menu()tracę odniesienie do faktu, że wciąż jestem na stronie „Produkty”. Czy mogę to naprawić?

Dzięki!

Jon

Odpowiedzi:


12

Jeśli chcesz tylko dodać current_page_itemklasę do jednego elementu menu, możesz podłączyć się do nav_menu_css_classfiltra i dodać tę klasę w razie potrzeby. Jest wywoływany, gdy menu jest drukowane .

Jeśli chcesz uzyskać dostęp do całego menu i dodać klasy, podłącz się do wp_get_nav_menu_itemsfiltra, w którym otrzymujesz całą $itemstablicę. Możesz edytować classeswłaściwości poszczególnych elementów.


2

@Jon Tak długo, jak korzystasz z <body <?php body_class(); ?>>WordPress, przypisze klasę current_page_itemdo Twojego menu wraz z current_page_parentrozwijanymi menu.


1
Cześć Chris, dziękuję za odpowiedź. Korzystam z <body <? Php body_class (); ? >> ale problem polega na tym, że jeśli chodzi o wp_nav_menu (), to taksonomie, które klikam, nie są z tym związane! Muszę więc powiedzieć wp_nav_menu () - jeśli strona ma X, pokaż „Produkty” jako bieżący rodzic.
Jon

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.