Unloads translations for a text domain.
Parameters
$domain
stringrequired- Text domain. Unique identifier for retrieving translated strings.
$reloadable
booloptional- Whether the text domain can be loaded just-in-time again.
Default:
false
Source
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;
}
In case you need to prevent a text domain from unloading, the
override_unload_textdomain
filter is called before attempting to unload the text domain.Immediately before unloading a text domain, the
unload_textdomain
action is called to notify WordPress that the text domain is being unloaded.