# unload_textdomain()

URL: https://chugunov.pro/api-wordpress/functions/unload_textdomain/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 3.0.0.

## Сигнатура

```php
unload_textdomain( string $domain, bool $reloadable = false ): bool
```

## Описание

Выгружает переводы для текстового домена.

## Параметры

- `$domain` `string` — обязательный. Текстовый домен. Уникальный идентификатор для получения переведённых строк.
- `$reloadable` `bool` — необязательный, по умолчанию `false`. Может ли текстовый домен снова быть загружен по требованию (just-in-time).

## Возвращаемое значение

`bool`

## Исходный код

Файл: `wp-includes/l10n.php:879`

```php
function unload_textdomain( $domain, $reloadable = false ) {
	global $l10n, $l10n_unloaded;

	$l10n_unloaded = (array) $l10n_unloaded;

	/**
	 * Filters whether to override the text domain unloading.
	 *
	 * @since 3.0.0
	 * @since 6.1.0 Added the `$reloadable` parameter.
	 *
	 * @param bool   $override   Whether to override the text domain unloading. Default false.
	 * @param string $domain     Text domain. Unique identifier for retrieving translated strings.
	 * @param bool   $reloadable Whether the text domain can be loaded just-in-time again.
	 */
	$plugin_override = apply_filters( 'override_unload_textdomain', false, $domain, $reloadable );

	if ( $plugin_override ) {
		if ( ! $reloadable ) {
			$l10n_unloaded[ $domain ] = true;
		}

		return true;
	}

	/**
	 * Fires before the text domain is unloaded.
	 *
	 * @since 3.0.0
	 * @since 6.1.0 Added the `$reloadable` parameter.
	 *
	 * @param string $domain     Text domain. Unique identifier for retrieving translated strings.
	 * @param bool   $reloadable Whether the text domain can be loaded just-in-time again.
	 */
	do_action( 'unload_textdomain', $domain, $reloadable );

	// Since multiple locales are supported, reloadable text domains don't actually need to be unloaded.
	if ( ! $reloadable ) {
		WP_Translation_Controller::get_instance()->unload_textdomain( $domain );
	}

	if ( isset( $l10n[ $domain ] ) ) {
		if ( $l10n[ $domain ] instanceof NOOP_Translations ) {
			unset( $l10n[ $domain ] );

			return false;
		}

		unset( $l10n[ $domain ] );

		if ( ! $reloadable ) {
			$l10n_unloaded[ $domain ] = true;
		}

		return true;
	}

	return false;
}
```

## История изменений

- 6.1.0 — Added the $reloadable parameter.
- 3.0.0 — Introduced.

## Связанные

Использует: `WP_Translation_Controller::get_instance`, [`apply_filters`](https://chugunov.pro/api-wordpress/functions/apply_filters/), [`do_action`](https://chugunov.pro/api-wordpress/functions/do_action/).
Используется в: `WP_Locale_Switcher::load_translations`, [`load_default_textdomain`](https://chugunov.pro/api-wordpress/functions/load_default_textdomain/), [`wp_timezone_choice`](https://chugunov.pro/api-wordpress/functions/wp_timezone_choice/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/unload_textdomain/
