The load_plugin_textdomain() WordPress PHP function loads a plugin’s translated strings.
Usage
load_plugin_textdomain( $domain, $deprecated = false, $plugin_rel_path = false );
Parameters
- $domain (string) – Required. Unique identifier for retrieving translated strings.
- $deprecated (string|false) – Optional. Deprecated. Use the $plugin_rel_path parameter instead. Default: false.
- $plugin_rel_path (string|false) – Optional. Relative path to WP_PLUGIN_DIR where the .mo file resides. Default: false.
More information
See WordPress Developer Resources: load_plugin_textdomain()
Examples
Basic usage
Load plugin textdomain during the init action.
add_action( 'init', 'wpdocs_load_textdomain' );
function wpdocs_load_textdomain() {
load_plugin_textdomain( 'wpdocs_textdomain', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' );
}
Load textdomain during after_setup_theme
add_action( 'after_setup_theme', 'wpdocs_load_textdomain' );
function wpdocs_load_textdomain() {
load_plugin_textdomain( 'wpdocs_textdomain', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' );
}
Load textdomain during plugins_loaded
add_action( 'plugins_loaded', 'my_plugin_init' );
function my_plugin_init() {
load_plugin_textdomain( 'my-textdomain', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' );
}
Specify a custom path
Load the plugin textdomain with a custom relative path to the .mo file.
add_action( 'init', 'wpdocs_load_textdomain' );
function wpdocs_load_textdomain() {
load_plugin_textdomain( 'wpdocs_textdomain', false, 'custom-path/languages' );
}
Use a constant for the textdomain
define( 'MY_PLUGIN_TEXTDOMAIN', 'my-textdomain' );
add_action( 'init', 'my_plugin_load_textdomain' );
function my_plugin_load_textdomain() {
load_plugin_textdomain( MY_PLUGIN_TEXTDOMAIN, false, dirname( plugin_basename( __FILE__ ) ) . '/languages' );
}