get_locale

函式
get_locale ( No parameters )
返回值
  • (string) The locale of the blog or from the {@see 'locale'} hook.
定義位置
相關方法
get_user_localeget_roleget_calendardetermine_localeget_catname
引入
1.5.0
棄用
-

get_locale函式用於檢索WordPress站點的當前區域設定: 這個函式可以用來確定網站的語言和格式化設定。

檢索當前的locale。

如果locale已經設定,那麼它將在{@see ‘locale’}過濾鉤中過濾locale,並返回該值。

如果locale還沒有設定,那麼如果定義了WPLANG常量,就會使用它。然後通過{@see ‘locale’}過濾鉤子進行過濾,並且 locale全域性設定的值並返回locale。

獲取locale的過程應該只做一次,但locale將始終使用{@see ‘locale’}鉤子進行過濾。

function get_locale() {
	global $locale, $wp_local_package;

	if ( isset( $locale ) ) {
		/** This filter is documented in wp-includes/l10n.php */
		return apply_filters( 'locale', $locale );
	}

	if ( isset( $wp_local_package ) ) {
		$locale = $wp_local_package;
	}

	// WPLANG was defined in wp-config.
	if ( defined( 'WPLANG' ) ) {
		$locale = WPLANG;
	}

	// If multisite, check options.
	if ( is_multisite() ) {
		// Don't check blog option when installing.
		if ( wp_installing() ) {
			$ms_locale = get_site_option( 'WPLANG' );
		} else {
			$ms_locale = get_option( 'WPLANG' );
			if ( false === $ms_locale ) {
				$ms_locale = get_site_option( 'WPLANG' );
			}
		}

		if ( false !== $ms_locale ) {
			$locale = $ms_locale;
		}
	} else {
		$db_locale = get_option( 'WPLANG' );
		if ( false !== $db_locale ) {
			$locale = $db_locale;
		}
	}

	if ( empty( $locale ) ) {
		$locale = 'en_US';
	}

	/**
	 * Filters the locale ID of the WordPress installation.
	 *
	 * @since 1.5.0
	 *
	 * @param string $locale The locale ID.
	 */
	return apply_filters( 'locale', $locale );
}

常見問題

FAQs
檢視更多 >