_load_textdomain_just_in_time( string $domain ): bool

In this article

This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.

Loads plugin and theme text domains just-in-time.

Description

When a textdomain is encountered for the first time, we try to load the translation file from wp-content/languages, removing the need to call load_plugin_textdomain() or load_theme_textdomain() .

Parameters

$domainstringrequired
Text domain. Unique identifier for retrieving translated strings.

Return

bool True when the textdomain is successfully loaded, false otherwise.

Source

if ( 'default' === $domain || isset( $l10n_unloaded[ $domain ] ) ) {
	return false;
}

if ( ! $wp_textdomain_registry->has( $domain ) ) {
	return false;
}

$locale = determine_locale();
$path   = $wp_textdomain_registry->get( $domain, $locale );
if ( ! $path ) {
	return false;
}

if ( ! doing_action( 'after_setup_theme' ) && ! did_action( 'after_setup_theme' ) ) {
	_doing_it_wrong(
		__FUNCTION__,
		sprintf(
			/* translators: 1: The text domain. 2: 'init'. */
			__( 'Translation loading for the %1$s domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the %2$s action or later.' ),
			'<code>' . $domain . '</code>',
			'<code>init</code>'
		),
		'6.7.0'
	);
}

// Themes with their language directory outside of WP_LANG_DIR have a different file name.
$template_directory   = trailingslashit( get_template_directory() );
$stylesheet_directory = trailingslashit( get_stylesheet_directory() );
if ( str_starts_with( $path, $template_directory ) || str_starts_with( $path, $stylesheet_directory ) ) {

Changelog

VersionDescription
4.6.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.