Codex

Plugin API/Filter Reference/gettext

Contents

Description

This filter hook is applied to the translated text by the internationalization functions (__(), _e(), _x(), etc.). This filter is always applied even if internationalization is not in effect, and if the text domain has not been loaded.


Arguments

Filter function arguments are: 'translated text', 'untranslated text' and 'text domain'. apply_filters( 'gettext', $translations->translate( $text ), $text, $domain );


Examples

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 http://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;
}

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 http://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="http://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;
}

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