wp_get_nav_menus()WP 3.0.0

Возвращает массив (объектов) всех сохранённых меню в базе данных.

wp_get_nav_menus() - это обертка для функции get_terms(), которая получает данные терминов таксономии 'nav_menu'.

Работает на основе: get_terms()
Хуки из функции

Возвращает

WP_Term[]. Массив, который содержит объекты с данными о каждом меню.

Использование

wp_get_nav_menus( $args );
$args(массив)
Массив аргументов по которым будут получены меню. Какие аргументы можно передать смотрите в функции get_terms(). По умолчанию устанавливаются: array( 'hide_empty' => false, 'orderby' => 'name' );
По умолчанию: array()

Примеры

1

#1 Демонстрация работы функции

$menus = wp_get_nav_menus( $args );
print_r( $menus );

/*
Вернет:

Array
(
	[0] => stdClass Object
		(
			[term_id] => 3
			[name] => меню 1
			[slug] => %d0%bc%d0%b5%d0%bd%d1%8e-1
			[term_group] => 0
			[term_taxonomy_id] => 3
			[taxonomy] => nav_menu
			[description] => 
			[parent] => 0
			[count] => 1
		)

	[1] => stdClass Object
		(
			[term_id] => 4
			[name] => Меню 2
			[slug] => %d0%bc%d0%b5%d0%bd%d1%8e-2
			[term_group] => 0
			[term_taxonomy_id] => 4
			[taxonomy] => nav_menu
			[description] => 
			[parent] => 0
			[count] => 2
		)
)
*/

Список изменений

С версии 3.0.0 Введена.
С версии 4.1.0 Default value of the 'orderby' argument was changed from 'none' to 'name'.

Код wp_get_nav_menus() WP 6.5.2

function wp_get_nav_menus( $args = array() ) {
	$defaults = array(
		'taxonomy'   => 'nav_menu',
		'hide_empty' => false,
		'orderby'    => 'name',
	);
	$args     = wp_parse_args( $args, $defaults );

	/**
	 * Filters the navigation menu objects being returned.
	 *
	 * @since 3.0.0
	 *
	 * @see get_terms()
	 *
	 * @param WP_Term[] $menus An array of menu objects.
	 * @param array     $args  An array of arguments used to retrieve menu objects.
	 */
	return apply_filters( 'wp_get_nav_menus', get_terms( $args ), $args );
}