get_locale

函数


get_locale ( No parameters )
返回值
  • (string) The locale of the blog or from the {@see ‘locale’} hook.
定义位置
  • wp-includes/l10n.php
    , line 30
引入
1.5.0
弃用

Retrieves the current locale.

If the locale is set, then it will filter the locale in the {@see ‘locale’}
filter hook and return the value.

If the locale is not set already, then the WPLANG constant is used if it is
defined. Then it is filtered through the {@see ‘locale’} filter hook and
the value for the locale global set and the locale is returned.

The process to get the locale should only be done once, but the locale will
always be filtered using the {@see ‘locale’} hook.

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