Traducir o reemplazar texto en WordPress a través de functions.php

Tabla de contenidos

Es posible que desee traducir o cambiar algún texto en su sitio de WordPress, pero no quiere perder el tiempo con las traducciones de cadenas o la edición de los archivos PO/MO. Afortunadamente, hay una forma alternativa de hacer esto. Rápido y Fácil. Todo lo que tiene que hacer es agregar el código a continuación en el archivo functions.php de su tema hijo. Tenga en cuenta que esto solo funciona con texto traducible que se usa dentro __()_e()funciones.

El siguiente código hace uso del gettextfiltro. Reemplace Old Text con el texto que desea reemplazar. Se distingue entre mayúsculas y minúsculas, así que escríbalo exactamente como lo ve en su sitio web. Reemplácelo New Text con su texto de reemplazo o déjelo en blanco si desea eliminar el texto original.

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

Sin embargo, para ahorrar pasos, si quisiéramos más adelante traducir más palabras, lo conveniente es usar un array(), de la siguiente manera:

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

¡Eso es todo!