返回导航菜单对象。

原型

wp_get_nav_menu_object( int|string|WP_Term $menu )

参数

$menu (int|string|WP_Term) (Required) 菜单ID,slug,名称或对象。

返回值

(WP_Term|false)  如果未提供$ menu param或者term不存在则返回false,如果成功则为menu对象。

源文件

路径:wp-includes/nav-menu.php

<?php
...
function wp_get_nav_menu_object( $menu ) {
	$menu_obj = false;
	if ( is_object( $menu ) ) {
		$menu_obj = $menu;
	}
	if ( $menu && ! $menu_obj ) {
		$menu_obj = get_term( $menu, 'nav_menu' );
		if ( ! $menu_obj ) {
			$menu_obj = get_term_by( 'slug', $menu, 'nav_menu' );
		}
		if ( ! $menu_obj ) {
			$menu_obj = get_term_by( 'name', $menu, 'nav_menu' );
		}
	}
	if ( ! $menu_obj || is_wp_error( $menu_obj ) ) {
		$menu_obj = false;
	}
	/**
	 * Filters the nav_menu term retrieved for wp_get_nav_menu_object().
	 *
	 * @since 4.3.0
	 *
	 * @param WP_Term|false      $menu_obj Term from nav_menu taxonomy, or false if nothing had been found.
	 * @param int|string|WP_Term $menu     The menu ID, slug, name, or object passed to wp_get_nav_menu_object().
	 */
	return apply_filters( 'wp_get_nav_menu_object', $menu_obj, $menu );
}
...
?>

其他

英文文档:https://developer.wordpress.org/reference/functions/wp_get_nav_menu_object/