What does the WordPress “_e()” function do?

I have these all over my theme, and when if I delete them, there nothing happens to the theme. What does it do? Should I leave them in or are they unnecessary? I want to optimize my site to load faster, so this is why I’m asking.

Related posts

Leave a Reply

7 comments

  1. It is a WordPress Function used for localization.
    See the WordPress Docs for localization.

    With this function you can output/assign “hardcoded” strings within your theme/plugin/code that are translateable (with .mo / .po files or plugins like WPML String Translation).

    The function __( 'My Text', 'my-text-domain' ); assigns a string “My Text” that is translateable. ‘my-text-domain’ is the text-doamin the string is referenced to. This function does not echo anything!

    The function _e( 'My Text', 'my-text-domain' ); is almost the same but it echoes your string directly.

    WordPress Offers several other functions for localization, take a look into the Codex (link on top of my answer).

  2. Those are WordPress library function used on localization in WordPress themes. Its recommended to use escapes function as much as possible in theme and plugins for safety.

    __() = Return the translated string

    _e() = echo the translated string
    esc_html__() = Escapes & return the translation string use in HTML output
    esc_html_e() = Escapes & echo the translation string use in HTML output
    esc_attr__() = Escapes & return the translation string use in an attribute
    esc_attr_e() = Escapes & echo the translation string use in an attribute

    _n() = Retrieve the plural or single form based on the amount.

    _x() = Retrieve translated string with gettext context
    _ex() = echo translated string with gettext context
    esc_attr_x() = Escapes & return translated string with gettext context use in an attribute
    esc_html_x() = Escapes & return translated string with gettext context use in HTML output

  3. Actually, from my experience, I find that _e() is a function. It is similar to:

    <?php function _e($txt) {
    echo $txt;
    }

    It seems to me that if you eliminate it, you run the risk of your text not even showing up. From the uses I have seen, though, it is comments to the WordPress user to remind them to add information to the area, like the footer, header, or whatever. So eliminating may only remove all the hints the theme has built in for you.