WP_Locale_Switcher::switch_to_locale( string $locale, int|false $user_id = false ): bool

In this article

Switches the translations according to the given locale.

Parameters

$localestringrequired
The locale to switch to.
$user_idint|falseoptional
User ID as context.

Default:false

Return

bool True on success, false on failure.

Source

public function switch_to_locale( $locale, $user_id = false ) {
	$current_locale = determine_locale();
	if ( $current_locale === $locale ) {
		return false;
	}

	if ( ! in_array( $locale, $this->available_languages, true ) ) {
		return false;
	}

	$this->stack[] = array( $locale, $user_id );

	$this->change_locale( $locale );

	/**
	 * Fires when the locale is switched.
	 *
	 * @since 4.7.0
	 * @since 6.2.0 The `$user_id` parameter was added.
	 *
	 * @param string    $locale  The new locale.
	 * @param false|int $user_id User ID for context if available.
	 */
	do_action( 'switch_locale', $locale, $user_id );

	return true;
}

Hooks

do_action( ‘switch_locale’, string $locale, false|int $user_id )

Fires when the locale is switched.

Changelog

VersionDescription
4.7.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.