W3cubDocs

/WordPress

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

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

Version Description
4.7.0 Introduced.

© 2003–2024 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_locale_switcher/switch_to_locale