apply_filters( 'gettext', string $translation, string $text, string $domain )

Filters text with its translation.


Parameters Parameters

$translation

(string) Translated text.

$text

(string) Text to translate.

$domain

(string) Text domain. Unique identifier for retrieving translated strings.


Top ↑

More Information More Information

This filter hook is applied to the translated text by the internationalization functions (__(), _e(), etc.).

IMPORTANT: This filter is always applied even if internationalization is not in effect, and if the text domain has not been loaded. If there are functions hooked to this filter, they will always run. This could lead to a performance problem.

For singular/plural aware translation functions such as _n(), see ngettext().

For context-specific translation functions such as _x(), see filter hook gettext_with_context() and ngettext_with_context().


Top ↑

Source Source

File: wp-includes/l10n.php

View on Trac



Top ↑

Changelog Changelog

Changelog
Version Description
2.0.11 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note 1 content
    Contributed by Abdul Wahab

    Change the “Register” text on the WordPress default login page.

    add_action( 'login_head', 'default_login_page_head' );
    
    /**
     * Customise the login form using login_head.
     */
    function default_login_page_head() {
    	add_filter( 'gettext', 'change_login_form_register_keyword');
    }
    /**
      * Change Register text from the bottom of login form.
      *
      * @param $text string 
      * @return $text string
      * * * * * * * * * * * * * * * * * * */
    function change_login_form_register_keyword( $text ) {
    
    	$text = str_ireplace( 'Register',  'Sign Up',  $text );
        return $text;
    }
  2. Skip to note 2 content
    Contributed by leogermani

    Change the Comment Form

    Change the default field names of the comment form. Assumes the current form includes field names “Name” and “Email” and that ‘theme_text_domain’ is the name of your theme’s text domain.

    add_filter( 'gettext', 'theme_change_comment_field_names', 20, 3 );
    /**
     * Change comment form default field names.
     *
     * @link https://codex.wordpress.org/Plugin_API/Filter_Reference/gettext
     */
    function theme_change_comment_field_names( $translated_text, $text, $domain ) {
    
        if ( is_singular() ) {
    
            switch ( $translated_text ) {
    
                case 'Name' :
    
                    $translated_text = __( 'First Name', 'theme_text_domain' );
                    break;
    
                case 'Email' :
    
                    $translated_text = __( 'Email Address', 'theme_text_domain' );
                    break;
            }
    
        }
    
        return $translated_text;
    }
    
  3. Skip to note 3 content
    Contributed by leogermani

    Remove Text from Admin Form

    add_filter('gettext', 'remove_admin_stuff', 20, 3);
    /**
     * Remove the text at the bottom of the Custom fields box in WordPress Post/Page Editor.
     *
     * @link https://codex.wordpress.org/Plugin_API/Filter_Reference/gettext
     */
    function remove_admin_stuff( $translated_text, $untranslated_text, $domain ) {
    
        $custom_field_text = 'Custom fields can be used to add extra metadata to a post that you can <a href="https://codex.wordpress.org/Using_Custom_Fields" target="_blank">use in your theme</a>.';
    
        if ( is_admin() && $untranslated_text === $custom_field_text ) {
            return '';
        }
    
        return $translated_text;
    }
    
  4. Skip to note 4 content
    Contributed by leogermani

    Change Text in Custom Post Admin Form

    add_filter('gettext', 'change_admin_cpt_text_filter', 20, 3);
    /*
     * Change the text in the admin for my custom post type
     * 
    **/
    function change_admin_cpt_text_filter( $translated_text, $untranslated_text, $domain ) {
    
      global $typenow;
    
      if( is_admin() && 'MY_CPT' == $typenow )  {
    
        //make the changes to the text
        switch( $untranslated_text ) {
    
            case 'Featured Image':
              $translated_text = __( 'NEW FEATURED IMAGE TEXT','text_domain' );
            break;
    
            case 'Enter title here':
              $translated_text = __( 'NEW TITLE COPY','text_domain' );
            break;
            
            //add more items
         }
       }
       return $translated_text;
    }
    

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