get_user_locale

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

WordPress Version: 6.1

/**
 * Retrieves the locale of a user.
 *
 * If the user has a locale set to a non-empty string then it will be
 * returned. Otherwise it returns the locale of get_locale().
 *
 * @since 4.7.0
 *
 * @param int|WP_User $user User's ID or a WP_User object. Defaults to current user.
 * @return string The locale of the user.
 */
function get_user_locale($user = 0)
{
    $user_object = false;
    if (0 === $user && function_exists('wp_get_current_user')) {
        $user_object = wp_get_current_user();
    } elseif ($user instanceof WP_User) {
        $user_object = $user;
    } elseif ($user && is_numeric($user)) {
        $user_object = get_user_by('id', $user);
    }
    if (!$user_object) {
        return get_locale();
    }
    $locale = $user_object->locale;
    return $locale ? $locale : get_locale();
}

WordPress Version: 4.7

/**
 * Retrieves the locale of a user.
 *
 * If the user has a locale set to a non-empty string then it will be
 * returned. Otherwise it returns the locale of get_locale().
 *
 * @since 4.7.0
 *
 * @param int|WP_User $user_id User's ID or a WP_User object. Defaults to current user.
 * @return string The locale of the user.
 */
function get_user_locale($user_id = 0)
{
    $user = false;
    if (0 === $user_id && function_exists('wp_get_current_user')) {
        $user = wp_get_current_user();
    } elseif ($user_id instanceof WP_User) {
        $user = $user_id;
    } elseif ($user_id && is_numeric($user_id)) {
        $user = get_user_by('id', $user_id);
    }
    if (!$user) {
        return get_locale();
    }
    $locale = $user->locale;
    return $locale ? $locale : get_locale();
}