Intereting Posts
Ссылка на сообщение в блоге со статической страницы Запрещенная локальная ошибка и создание ошибок базы данных deactivated_plugin hook: получить имя плагина Как запросить все прикрепленные изображения, найденные в галереях Результаты поиска URL без строковых переменных запроса Вопрос о том, как работает wp_register_script Как получить список имен имен персонализированного типа сообщений, которые в настоящее время включены в single.php Все URL-адреса имеют к ним добавленный «/ blog /». Пользовательская функция для добавления вторичного логотипа Как создать различные фреймы / фильтры для медиафайлов в зависимости от пользовательских действий У вас нет прав для редактирования этого пользователя Автоматическое подсчет сингулярных сообщений WordPress WP_Query orderby будет перезаписан Как отображать продукт с двумя стандартами, категорией и таксономией бренда Неопределенный WP_Query :: has_posts ()?

Получить имя меню для nav_menu_item

Учитывая объект nav_menu_item , как бы определить имя связанного с ним меню?

У меня есть несколько меню, определенных в моей теме, а также фильтр nav_menu_css_class . Внутри фильтра я хочу только добавить классы в одно из меню. Если я могу динамически вытащить имя меню, используя переменную $item я могу убедиться, что я действую только в определенном меню.

Третий аргумент, переданный фильтру, – $args используемые для wp_nav_menu :

 function wpse_147499_nav_menu_css_class( $classes, $item, $args ) { print_r( $args ); exit; } add_filter( 'nav_menu_css_class', 'wpse_147499_nav_menu_css_class', 10, 3 ); 

… который дает вам:

 stdClass Object ( [menu] => [container] => [container_class] => [container_id] => [menu_class] => [menu_id] => [echo] => 1 [fallback_cb] => [before] => [after] => [link_before] => [link_after] => [items_wrap] => [depth] => 0 [walker] => [theme_location] => ) 

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