load_plugin_textdomain

函数


load_plugin_textdomain ( $domain, $deprecated = false, $plugin_rel_path = false )
参数
  • (string)
    $domain
    Unique identifier for retrieving translated strings
    Required:
  • (string|false)
    $deprecated
    Optional. Deprecated. Use the $plugin_rel_path parameter instead. Default false.
    Required:
    Default: false
  • (string|false)
    $plugin_rel_path
    Optional. Relative path to WP_PLUGIN_DIR where the .mo file resides. Default false.
    Required:
    Default: false
返回值
  • (bool) True when textdomain is successfully loaded, false otherwise.
定义位置
  • wp-includes/l10n.php
    , line 907
引入
1.5.0
弃用

Loads a plugin’s translated strings.

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.

function load_plugin_textdomain( $domain, $deprecated = false, $plugin_rel_path = false ) {
	/** @var WP_Textdomain_Registry $wp_textdomain_registry */
	global $wp_textdomain_registry;

	/**
	 * 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, $locale ) ) {
		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;
	}

	$wp_textdomain_registry->set_custom_path( $domain, $path );

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