The is_locale_switched() WordPress PHP function checks if the locale has been switched using switch_to_locale()
.
Usage
$locale_switched = is_locale_switched();
Parameters
- None
More information
See WordPress Developer Resources: is_locale_switched()
Examples
Check if the locale is switched
This code checks if the locale is currently switched and outputs a message accordingly.
if (is_locale_switched()) { echo "The locale has been switched!"; } else { echo "The locale has not been switched."; }
Switch locale and check if it’s switched
This code switches the locale to French and then checks if the locale has been switched.
switch_to_locale('fr_FR'); $locale_switched = is_locale_switched(); if ($locale_switched) { echo "Bonjour! The locale has been switched to French."; }
Change locale based on user preference
This code checks if a user has a preferred language set and switches the locale accordingly.
$user_locale = get_user_meta($user_id, 'preferred_locale', true); if ($user_locale) { switch_to_locale($user_locale); } if (is_locale_switched()) { echo "Locale has been switched to the user's preference."; }
Switch locale for a specific part of the website
This code switches the locale for a specific part of the website (e.g., a language learning section) and then restores the original locale afterward.
$original_locale = get_locale(); switch_to_locale('es_ES'); if (is_locale_switched()) { echo "Bienvenido! The locale has been switched to Spanish for this section."; } // Do stuff in Spanish locale here restore_previous_locale();
Switching locales in a loop
This code demonstrates how to switch between multiple locales in a loop.
$locales = ['fr_FR', 'de_DE', 'es_ES']; foreach ($locales as $locale) { switch_to_locale($locale); if (is_locale_switched()) { echo "The locale has been switched to " . $locale . ".<br>"; } restore_previous_locale(); }