register_nav_menus

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

WordPress Version: 5.8

/**
 * Registers navigation menu locations for a theme.
 *
 * @since 3.0.0
 *
 * @global array $_wp_registered_nav_menus
 *
 * @param string[] $locations Associative array of menu location identifiers (like a slug) and descriptive text.
 */
function register_nav_menus($locations = array())
{
    global $_wp_registered_nav_menus;
    add_theme_support('menus');
    foreach ($locations as $key => $value) {
        if (is_int($key)) {
            _doing_it_wrong(__FUNCTION__, __('Nav menu locations must be strings.'), '5.3.0');
            break;
        }
    }
    $_wp_registered_nav_menus = array_merge((array) $_wp_registered_nav_menus, $locations);
}

WordPress Version: 5.3

/**
 * Registers navigation menu locations for a theme.
 *
 * @since 3.0.0
 *
 * @global array $_wp_registered_nav_menus
 *
 * @param array $locations Associative array of menu location identifiers (like a slug) and descriptive text.
 */
function register_nav_menus($locations = array())
{
    global $_wp_registered_nav_menus;
    add_theme_support('menus');
    foreach ($locations as $key => $value) {
        if (is_int($key)) {
            _doing_it_wrong(__FUNCTION__, __('Nav menu locations must be strings.'), '5.3.0');
            break;
        }
    }
    $_wp_registered_nav_menus = array_merge((array) $_wp_registered_nav_menus, $locations);
}

WordPress Version: 4.5

/**
 * Registers navigation menu locations for a theme.
 *
 * @since 3.0.0
 *
 * @global array $_wp_registered_nav_menus
 *
 * @param array $locations Associative array of menu location identifiers (like a slug) and descriptive text.
 */
function register_nav_menus($locations = array())
{
    global $_wp_registered_nav_menus;
    add_theme_support('menus');
    $_wp_registered_nav_menus = array_merge((array) $_wp_registered_nav_menus, $locations);
}

WordPress Version: 4.3

/**
 * Register navigation menus for a theme.
 *
 * @since 3.0.0
 *
 * @global array $_wp_registered_nav_menus
 *
 * @param array $locations Associative array of menu location identifiers (like a slug) and descriptive text.
 */
function register_nav_menus($locations = array())
{
    global $_wp_registered_nav_menus;
    add_theme_support('menus');
    $_wp_registered_nav_menus = array_merge((array) $_wp_registered_nav_menus, $locations);
}

WordPress Version: 3.7

/**
 * Register navigation menus for a theme.
 *
 * @since 3.0.0
 *
 * @param array $locations Associative array of menu location identifiers (like a slug) and descriptive text.
 */
function register_nav_menus($locations = array())
{
    global $_wp_registered_nav_menus;
    add_theme_support('menus');
    $_wp_registered_nav_menus = array_merge((array) $_wp_registered_nav_menus, $locations);
}