Есть ли способ вручную указать, какая страница в данный момент «активна» при использовании wp_nav_menu()
?
У меня есть страница «Продукты», и на этой странице у меня есть ссылки на различные (динамические) пользовательские таксономии. Когда я нажимаю на одну из этих таксономий, я остаюсь на странице «Продукты», но wp_nav_menu()
теряю связь с тем фактом, что я все еще нахожусь на странице «Продукты». Есть ли способ исправить это?
Спасибо!
Джон
Если вы просто хотите добавить
current_page_item
класс к одному пункту меню, вы можете подключиться кnav_menu_css_class
фильтру и при необходимости добавить этот класс. Он вызывается при печати меню.Если вы хотите получить доступ ко всему меню и добавить классы, подключитесь к
wp_get_nav_menu_items
фильтру, где вы получите весь$items
массив. Вы можете редактироватьclasses
свойства отдельных элементов.Привет Крис, Спасибо за ответ. Я использую <body >, но проблема в том, что что касается wp_nav_menu(), таксономии, на которые я нажимаю, не связаны с ним! Итак, мне нужно сказать wp_nav_menu() — если страница X, тогда покажите «Продукты» как current_page_parent.
@Jon Пока вы используете
<body <?php body_class(); ?>>
WordPress, вы назначите классcurrent_page_item
вашему меню вместе сcurrent_page_parent
выпадающими меню.Ян упомянул фильтр nav_menu_css_class, поэтому я посмотрел его, и этот пример был мне полезен Источник: https://codex.wordpress.org/Plugin_API/Filter_Reference/nav_menu_css_class