Občas řeším situaci, kdy např. v šabloně nebo pluginu zapomněli na podporu překladu pro jedno nebo dvě slova. A instalovat kvůli tomu plugin je někdy zbytečné, když existuje lepší cesta.
Ideální je vložit jeden z kódů níže (pro jedno slovo nebo více) do functions.php v child theme.
Pro nahrazení jednoho konkrétního slova:
function change_translate_text( $translated_text ) {
if ( 'Old Text' === $translated_text ) {
$translated_text = 'New Text';
}
return $translated_text;
}
add_filter( 'gettext', 'change_translate_text', 20 );
Pro nahrazení několika slov:
function multi_change_translate_text( $translated ) {
$text = array(
'Old Text 1' => 'New Text 1',
'Old Text 2' => 'New Text 2',
'Old Text 3' => 'New Text 3',
);
$translated = str_ireplace( array_keys( $text ), $text, $translated );
return $translated;
}
add_filter( 'gettext', 'multi_change_translate_text', 20 );