Cómo cambiar cualquier texto en WooCommerce o WordPress

¿Alguna vez has necesitado forzar el cambio de algún texto en tu WordPress o Commerce y no lo consigues con Loco Translator? ¡Hazlo por código!

La verdad es que tiene bastante mérito que podamos tener la traducción al español de WooCommerce pero seguro que en determinadas ocasiones preferiríamos que en nuestra tienda online se mostrase algún texto en vez de otro, ya sea por cuestiones personales o comerciales.

Me refiero a textos como por ejemplo: «Añadir al carrito«, «Ir a la tienda«, «Oferta» o cualquier texto por defecto que se pueda colar por algún sitio, como un «Read More».

Pues bien. Es muy fácil. Solo tienes que adaptar el siguiente código a tus necesidades e incluirlo en tu plugin de personalizaciones (o en el archivo functions.php de tu tema child activo). Solo tienes que personalizarlo a tu gusto, con las palabras que quieras sustituir:

add_filter('gettext',  'translate_text');
add_filter('ngettext',  'translate_text');
 
function translate_text($translated) {
     $translated = str_ireplace('TEXTO QUE NO QUIERO',  'TEXTO QUE SÍ QUIERO',  $translated);
     return $translated;
}

¿Necesitas cambiar más de un texto en WooCommerce o WordPress?

Si necesitas cambiar más de un texto en tu tienda, de nuevo gracias al filtro gettext, crearíamos entonces una función algo más compleja, como esta:

/**
 * Cambio de textos en WooCommerce/WordPress
 *
 * @link http://codex.wordpress.org/Plugin_API/Filter_Reference/gettext
 */
function my_text_strings( $translated_text, $text, $domain ) {
	switch ( $translated_text ) {
		case '¡Oferta!' :
			$translated_text = __( '¡Rebajado!', 'woocommerce' );
			break;
		case 'Añadir al carrito' :
			$translated_text = __( 'Añadir a la cesta', 'woocommerce' );
			break;
		case 'Productos relacionados' :
			$translated_text = __( 'Quizás te interesen estos fantásticos productos', 'woocommerce' );
			break;
	}
	return $translated_text;
}
add_filter( 'gettext', 'my_text_strings', 20, 3 );

Deja un comentario