Как вручную указать текущую активную страницу с помощью wp_nav_menu ()


9

Есть ли способ вручную указать, какая страница в данный момент "активна" при использовании wp_nav_menu()?

У меня есть страница «Продукты», и на этой странице у меня есть ссылки на различные (динамические) пользовательские таксономии. Когда я нажимаю на одну из этих таксономий, я остаюсь на странице «Продукты», но wp_nav_menu()теряю ссылку на тот факт, что я все еще на странице «Продукты». Есть ли способ, которым я могу это исправить?

Спасибо!

Джон

Ответы:


12

Если вы просто хотите добавить current_page_itemкласс к одному пункту меню, вы можете подключиться к nav_menu_css_classфильтру и добавить этот класс, если это необходимо. Он вызывается при печати меню .

Если вы хотите получить доступ ко всему меню и добавить классы, подключите wp_get_nav_menu_itemsфильтр, где вы получите весь $itemsмассив. Вы можете редактировать classesсвойства отдельных элементов.


2

@Jon Пока вы используете <body <?php body_class(); ?>>WordPress, вы будете назначать класс current_page_itemвашему меню вместе с тем, используете current_page_parentли вы выпадающие меню.


1
Привет Крис, спасибо за ответ. Я использую <body <? Php body_class (); ? >> но проблема в том, что с точки зрения wp_nav_menu () таксономии, по которым я щелкаю, не имеют к этому отношения! Итак, мне нужно сказать wp_nav_menu () - если страница X, тогда покажите «Продукты» как current_page_parent.
Джон

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.