load_plugin_textdomain() WordPress Function

The load_plugin_textdomain() function loads a plugin's translated strings. If the plugin is installed in the mu-plugins directory, the load_plugin_textdomain() function must be called in the init hook. If the plugin is installed in the wp-content/plugins directory, the load_plugin_textdomain() function should be called in the plugin_loaded hook.

load_plugin_textdomain( string $domain, string|false $deprecated = false, string|false $plugin_rel_path = false ) #

Loads a plugin’s translated strings.


Description

If the path is not given then it will be the root of the plugin directory.

The .mo file should be named based on the text domain with a dash, and then the locale exactly.


Top ↑

Parameters

$domain

(string)(Required)Unique identifier for retrieving translated strings

$deprecated

(string|false)(Optional) Deprecated. Use the $plugin_rel_path parameter instead.

Default value: false

$plugin_rel_path

(string|false)(Optional) Relative path to WP_PLUGIN_DIR where the .mo file resides.

Default value: false


Top ↑

Return

(bool) True when textdomain is successfully loaded, false otherwise.


Top ↑

Source

File: wp-includes/l10n.php

function load_plugin_textdomain( $domain, $deprecated = false, $plugin_rel_path = false ) {
	/**
	 * Filters a plugin's locale.
	 *
	 * @since 3.0.0
	 *
	 * @param string $locale The plugin's current locale.
	 * @param string $domain Text domain. Unique identifier for retrieving translated strings.
	 */
	$locale = apply_filters( 'plugin_locale', determine_locale(), $domain );

	$mofile = $domain . '-' . $locale . '.mo';

	// Try to load from the languages directory first.
	if ( load_textdomain( $domain, WP_LANG_DIR . '/plugins/' . $mofile ) ) {
		return true;
	}

	if ( false !== $plugin_rel_path ) {
		$path = WP_PLUGIN_DIR . '/' . trim( $plugin_rel_path, '/' );
	} elseif ( false !== $deprecated ) {
		_deprecated_argument( __FUNCTION__, '2.7.0' );
		$path = ABSPATH . trim( $deprecated, '/' );
	} else {
		$path = WP_PLUGIN_DIR;
	}

	return load_textdomain( $domain, $path . '/' . $mofile );
}


Top ↑

Changelog

Changelog
VersionDescription
4.6.0The function now tries to load the .mo file from the languages directory first.
1.5.0Introduced.

The content displayed on this page has been created in part by processing WordPress source code files which are made available under the GPLv2 (or a later version) license by theĀ Free Software Foundation. In addition to this, the content includes user-written examples and information. All material is subject to review and curation by the WPPaste.com community.