The gettext_{$domain} WordPress PHP filter allows you to filter text with its translation for a specific domain.
Usage
add_filter( 'gettext_example', 'custom_text_translation', 10, 3 );
function custom_text_translation( $translation, $text, $domain ) {
// Your custom code here
return $translation;
}
Parameters
- $translation (string): Translated text.
- $text (string): Text to translate.
- $domain (string): Text domain. Unique identifier for retrieving translated strings.
More information
See WordPress Developer Resources: gettext_{$domain}
Examples
Change ‘Read More’ Text
Change the ‘Read More’ text to ‘Continue Reading’ for the ‘twentytwentyone’ theme.
add_filter( 'gettext_twentytwentyone', 'change_read_more_text', 10, 3 );
function change_read_more_text( $translation, $text, $domain ) {
if ( 'Read More' === $text ) {
return 'Continue Reading';
}
return $translation;
}
Custom Admin Footer Text
Change the default WordPress admin footer text.
add_filter( 'gettext_default', 'change_admin_footer_text', 10, 3 );
function change_admin_footer_text( $translation, $text, $domain ) {
if ( 'Thank you for creating with <a href="%s">WordPress</a>.' === $text ) {
return 'Powered by <a href="%s">WordPress</a> and customized by Your Name.';
}
return $translation;
}
Translate Custom Plugin Strings
Translate custom strings in a plugin with the text domain ‘my-plugin’.
add_filter( 'gettext_my-plugin', 'translate_my_plugin_strings', 10, 3 );
function translate_my_plugin_strings( $translation, $text, $domain ) {
$translations = array(
'Hello, World!' => 'Bonjour, le monde!',
'Goodbye!' => 'Au revoir!'
);
if ( isset( $translations[ $text ] ) ) {
return $translations[ $text ];
}
return $translation;
}
Change ‘Add New’ Button Text
Change the ‘Add New’ button text to ‘Create New’ in the custom post type ‘book’.
add_filter( 'gettext_default', 'change_add_new_button_text', 10, 3 );
function change_add_new_button_text( $translation, $text, $domain ) {
if ( 'book' === get_post_type() && 'Add New' === $text ) {
return 'Create New';
}
return $translation;
}
Customize WooCommerce Strings
Customize WooCommerce strings with the text domain ‘woocommerce’.
add_filter( 'gettext_woocommerce', 'customize_woocommerce_strings', 10, 3 );
function customize_woocommerce_strings( $translation, $text, $domain ) {
$translations = array(
'Cart' => 'Basket',
'Checkout' => 'Pay Now'
);
if ( isset( $translations[ $text ] ) ) {
return $translations[ $text ];
}
return $translation;
}