WordPress Version: 5.7
/**
* Navigation Menu functions
*
* @package WordPress
* @subpackage Nav_Menus
* @since 3.0.0
*/
/**
* Returns a navigation menu object.
*
* @since 3.0.0
*
* @param int|string|WP_Term $menu Menu ID, slug, name, or object.
* @return WP_Term|false Menu object on success, false if $menu param isn't supplied or term does not exist.
*/
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);
}