__( string $text, string $domain = 'default' ): string

Retrieves the translation of $text.


If there is no translation, or the text domain isn’t loaded, the original text is returned.

Top ↑


$text string Required
Text to translate.
$domain string Optional
Text domain. Unique identifier for retrieving translated strings.
Default 'default'.

Default: 'default'

Top ↑


string Translated text.

Top ↑


File: wp-includes/l10n.php. View all references

function __( $text, $domain = 'default' ) {
	return translate( $text, $domain );

Top ↑


Version Description
2.1.0 Introduced.

Top ↑

User Contributed Notes

  1. Skip to note 2 content
    Contributed by Codex

    Make a string inside your plugin or theme translatable:

    $translated = __( 'Hello World!', 'mytextdomain' );

    ‘mytextdomain’ needs to be a unique text domain used throughout your plugin/theme. This should always be directly passed as a string literal as shown above, not a string assigned to a variable or constant. E.g., this is incorrect:

    $text_domain = 'mytextdomain';
    $string = 'Hello World!';
    $translated = __( $string, $text_domain );

    This seems to work, but it will interfere in automatic parsing of your plugin/theme’s files for translation.

  2. Skip to note 3 content
    Contributed by Saurabh Ranjan

    We have _e as well which do the same thing but and only difference between them is
    _e echo directly whereas __ we need to echo them.

    For Example:

    _e(‘this is some message’, ‘twentyfourteen’);

    is same as

    echo __(‘this is a some message’, ‘twentyfourteen’);

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