wp_get_nav_menu_object

The timeline below displays how wordpress function wp_get_nav_menu_object has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

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);
}

WordPress Version: 4.9

/**
 * 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 False if $menu param isn't supplied or term does not exist, menu object if successful.
 */
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);
}

WordPress Version: 4.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, or name - or the menu object.
 * @return WP_Term|false False if $menu param isn't supplied or term does not exist, menu object if successful.
 */
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 object|false $menu_obj Term from nav_menu taxonomy, or false if nothing had been found.
     * @param string       $menu     The menu ID, slug, or name passed to wp_get_nav_menu_object().
     */
    return apply_filters('wp_get_nav_menu_object', $menu_obj, $menu);
}

WordPress Version: 4.6

/**
 * Navigation Menu functions
 *
 * @package WordPress
 * @subpackage Nav_Menus
 * @since 3.0.0
 */
/**
 * Returns a navigation menu object.
 *
 * @since 3.0.0
 *
 * @param string $menu Menu ID, slug, or name - or the menu object.
 * @return object|false False if $menu param isn't supplied or term does not exist, menu object if successful.
 */
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 object|false $menu_obj Term from nav_menu taxonomy, or false if nothing had been found.
     * @param string       $menu     The menu ID, slug, or name passed to wp_get_nav_menu_object().
     */
    return apply_filters('wp_get_nav_menu_object', $menu_obj, $menu);
}

WordPress Version: 4.3

/**
 * Navigation Menu functions
 *
 * @package WordPress
 * @subpackage Nav_Menus
 * @since 3.0.0
 */
/**
 * Returns a navigation menu object.
 *
 * @since 3.0.0
 *
 * @param string $menu Menu ID, slug, or name - or the menu object.
 * @return object|false False if $menu param isn't supplied or term does not exist, menu object if successful.
 */
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;
    }
    /**
     * Filter the nav_menu term retrieved for wp_get_nav_menu_object().
     *
     * @since 4.3.0
     *
     * @param object|false $menu_obj Term from nav_menu taxonomy, or false if nothing had been found.
     * @param string       $menu     The menu ID, slug, or name passed to wp_get_nav_menu_object().
     */
    return apply_filters('wp_get_nav_menu_object', $menu_obj, $menu);
}

WordPress Version: 4.1

/**
 * Navigation Menu functions
 *
 * @package WordPress
 * @subpackage Nav_Menus
 * @since 3.0.0
 */
/**
 * Returns a navigation menu object.
 *
 * @since 3.0.0
 *
 * @param string $menu Menu ID, slug, or name.
 * @return mixed false if $menu param isn't supplied or term does not exist, menu object if successful.
 */
function wp_get_nav_menu_object($menu)
{
    if (!$menu) {
        return false;
    }
    $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) {
        $menu_obj = false;
    }
    return $menu_obj;
}

WordPress Version: 4.0

/**
 * Navigation Menu functions
 *
 * @package WordPress
 * @subpackage Nav_Menus
 * @since 3.0.0
 */
/**
 * Returns a navigation menu object.
 *
 * @since 3.0.0
 *
 * @uses get_term
 * @uses get_term_by
 *
 * @param string $menu Menu ID, slug, or name.
 * @return mixed false if $menu param isn't supplied or term does not exist, menu object if successful.
 */
function wp_get_nav_menu_object($menu)
{
    if (!$menu) {
        return false;
    }
    $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) {
        $menu_obj = false;
    }
    return $menu_obj;
}

WordPress Version: 3.7

/**
 * Navigation Menu functions
 *
 * @package WordPress
 * @subpackage Nav_Menus
 * @since 3.0.0
 */
/**
 * Returns a navigation menu object.
 *
 * @since 3.0.0
 *
 * @uses get_term
 * @uses get_term_by
 *
 * @param string $menu Menu id, slug or name
 * @return mixed false if $menu param isn't supplied or term does not exist, menu object if successful.
 */
function wp_get_nav_menu_object($menu)
{
    if (!$menu) {
        return false;
    }
    $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) {
        $menu_obj = false;
    }
    return $menu_obj;
}