函数文档

get_user_locale()

💡 云策文档标注

概述

get_user_locale() 函数用于获取用户的区域设置(locale)。如果用户设置了非空字符串的区域设置,则返回该值;否则返回 get_locale() 的返回值。

关键要点

  • 参数 $user 可以是用户 ID 或 WP_User 对象,默认为当前用户
  • 返回值为字符串类型,表示用户的区域设置
  • 函数内部处理逻辑:优先检查用户对象,若无效则回退到 get_locale()

代码示例

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

📄 原文内容

Retrieves the locale of a user.

Description

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() .

Parameters

$userint|WP_Userrequired
User’s ID or a WP_User object. Defaults to current user.

Return

string The locale of the user.

Source

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

Changelog

Version Description
4.7.0 Introduced.