restore_current_locale()WP 4.7.0

Восстанавливает исходную локаль текущего запроса и соответствующие ей переводы.

Функция отменяет все изменения локали, выполненные через switch_to_locale(), и очищает стек переключений.

При восстановлении обновляются переводы, глобальный объект $wp_locale и локаль системы переводов. Затем срабатывают события change_locale и restore_previous_locale.

Используйте restore_previous_locale(), если нужно отменить только последнее переключение и вернуться к предыдущей локали.

Работает на основе: WP_Locale_Switcher::restore_current_locale()

Хуков нет.

Возвращает

string|false.

  • строку - код восстановленной исходной локали.
  • false - переключатель локалей недоступен или локаль ранее не переключалась.

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

restore_current_locale();

Примеры

#1 Временное переключение языка

Формируем переведённый текст, после чего восстанавливаем исходную локаль:

$recipient_locale = 'de_DE';

if ( switch_to_locale( $recipient_locale ) ) {
	try {
		$subject = __( 'Your order is ready', 'my-plugin' );
	} finally {
		restore_current_locale();
	}
}

Заметки

Global. WP_Locale_Switcher. $wp_locale_switcher WordPress locale switcher object.

Список изменений

С версии 4.7.0 Введена.

Код restore_current_locale() WP 7.1

function restore_current_locale() {
	/* @var WP_Locale_Switcher $wp_locale_switcher */
	global $wp_locale_switcher;

	if ( ! $wp_locale_switcher ) {
		return false;
	}

	return $wp_locale_switcher->restore_current_locale();
}