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.
定义位置
相关方法
load_muplugin_textdomainload_textdomainunload_textdomainload_script_textdomainload_default_textdomain
引入
1.5.0
弃用
-

load_plugin_textdomain: 这是WordPress中的一个函数,用于加载一个插件的翻译文件。你可以使用这个函数来翻译你的插件的模板文件和其他PHP代码中的字符串。

加载一个插件的翻译字符串。

如果没有给出路径,那么它将是插件目录的根。

.mo文件应该根据文本域用破折号命名,然后再精确到locale。

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 );
}

常见问题

FAQs
查看更多 >