wp_get_nav_menu_object()
Получает объект меню WordPress. Возвращает только объект самого меню без элементов в нем.
Чтобы получить пункты (элементы) меню, используйте функцию wp_get_nav_menu_items()
Работает на основе: get_term(), get_term_by()
Основа для: is_nav_menu(), wp_get_nav_menu_items()
1 раз — 0.000026 сек (очень быстро) | 50000 раз — 0.24 сек (очень быстро)
Хуки из функции
Возвращает
WP_Term|false
. False если не удалось получить меню по параметру $menu меню (термина) не существует.
Возвращаемый объект представляет из себя объект WP_Term элемента таксономии, потому что меню хранятся как элементы таксономии nav_menu
.
stdClass Object ( [term_id] => 693 [name] => Панель [slug] => panel [term_group] => 0 [term_taxonomy_id] => 701 [taxonomy] => nav_menu [description] => [parent] => 0 [count] => 1 [filter] => raw )
Использование
wp_get_nav_menu_object( $menu );
- $menu(число/строка/WP_Term) (обязательный)
ID, ярлык или название меню.
Можно передать сразу объект меню, в этом случает он будет пропущен через фильтр
wp_get_nav_menu_object
и вернется.
Примеры
#1 Получим объект меню
Допустим, у нас есть название расположения меню: my_menu_location
зарегистрированное с помощью register_nav_menu(). И мы создали меню в админке и прикрепили его к этому расположению. Тогда:
$locations = get_nav_menu_locations(); if( isset( $locations['my_menu_location'] ) ){ $items = wp_get_nav_menu_object( $locations['my_menu_location'] ); print_r( $items ); /* выведет stdClass Object ( [term_id] => 693 [name] => Панель [slug] => panel [term_group] => 0 [term_taxonomy_id] => 701 [taxonomy] => nav_menu [description] => [parent] => 0 [count] => 1 [filter] => raw ) */ }
Список изменений
С версии 3.0.0 | Введена. |