WP_Translation_Controller::unload_textdomain()publicWP 6.5.0

Unloads all translation files for a given text domain.

Method of the class: WP_Translation_Controller{}

No Hooks.

Return

true|false. True on success, false otherwise.

Usage

$WP_Translation_Controller = new WP_Translation_Controller();
$WP_Translation_Controller->unload_textdomain( $textdomain, ?string $locale ): bool;
$textdomain(string)
Text domain.
Default: 'default'
?string $locale **
-
Default: null

Changelog

Since 6.5.0 Introduced.

WP_Translation_Controller::unload_textdomain() code WP 6.7.1

public function unload_textdomain( string $textdomain = 'default', ?string $locale = null ): bool {
	$unloaded = false;

	if ( null !== $locale ) {
		if ( isset( $this->loaded_translations[ $locale ][ $textdomain ] ) ) {
			$unloaded = true;
			foreach ( $this->loaded_translations[ $locale ][ $textdomain ] as $moe ) {
				unset( $this->loaded_files[ $moe->get_file() ][ $locale ][ $textdomain ] );
			}
		}

		unset( $this->loaded_translations[ $locale ][ $textdomain ] );

		return $unloaded;
	}

	foreach ( $this->loaded_translations as $l => $domains ) {
		if ( ! isset( $domains[ $textdomain ] ) ) {
			continue;
		}

		$unloaded = true;

		foreach ( $domains[ $textdomain ] as $moe ) {
			unset( $this->loaded_files[ $moe->get_file() ][ $l ][ $textdomain ] );
		}

		unset( $this->loaded_translations[ $l ][ $textdomain ] );
	}

	return $unloaded;
}