WordPress как на ладони
wordpress jino

locale хук-фильтр . WP 1.5.2

Фильтрует данные локали (ru_RU) получаемые WordPress повсюду через функцию get_locale().

Использование

add_filter( 'locale', 'filter_function_name_11' );
function filter_function_name_11( $locale ) {
	// Фильтр...

	return $locale;
}
$locale(строка)
Текущая локаль. ru_RU, en_US и т.д.

Примеры

#1 Смена языка локализации

Этот пример показывает как налету изменить язык локализации в WordpRess на основе переданной переменной language в $_GET запросе:

add_filter( 'locale', 'set_my_locale' );
function set_my_locale( $lang ) {
	if ( 'ru' == $_GET['language'] )
		return 'ru_RU';
	else
		return $lang;
}

Связи хука

Используется в: get_locale()

Фрагменты кода хука locale

Фрагмент из: wp-includes/l10n.php WP 4.8.2
...
 * @global string $wp_local_package
 *
 * @return string The locale of the blog or from the {@see 'locale'} hook.
 */
function get_locale() {
	global $locale, $wp_local_package;

	if ( isset( $locale ) ) {
		/**
		 * Filters WordPress install's locale ID.
		 *
		 * @since 1.5.0
		 *
		 * @param string $locale The locale ID.
		 */
		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() || ( false === $ms_locale = get_option( 'WPLANG' ) ) ) {
...
Фрагмент из: wp-includes/l10n.php WP 4.8.2
...
		if ( $ms_locale !== false ) {
			$locale = $ms_locale;
		}
	} else {
		$db_locale = get_option( 'WPLANG' );
		if ( $db_locale !== false ) {
			$locale = $db_locale;
		}
	}

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

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

/**
 * 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;
...

Здесь услуга анализа ит инфраструктуры

здесь услуга анализа ит инфраструктуры

mkdg.ru

locale Комментариев нет

Здравствуйте, !

Ваш комментарий