Caso 1: Traducir una línea
Pega este código en tu functions.php, guárdalo y mira el resultado en tu panel de edición (campo del título del post):
Código PHP:
Ta güeno vedá!!... Sin embargo lo más probable es que deseemos cambiar varias líneas en lugar de una sola.Ver original
add_filter( 'gettext', 'cambiar_traducciones', 10, 4 ); function cambiar_traducciones( $trad , $texto , $dom ) { $traduccion = &get_translations_for_domain( $dom ); if ( $texto == 'Enter title here' ) return $traduccion->translate( 'Nombre del producto' ); return $trad; }
Caso 2: traducir varias líneas de una vez
Simplemente ordenaremos 'original' => 'personalizado' mediante un array y permitimos que un loop lo procese de esta manera:
Código PHP:
Hemos modificado tanto el campo del título como el módulo de imagen destacada. En el array $txt puedes agregar tantas líneas necesites. Es importante mencionar que las líneas originales deben corresponder a las que están escritas en los archivos, es decir, del idioma inglés. Igualmente deben escribirse tal cual se encuentran, incluyendo mayúsculas/minúsculas. Ahora vamos con un ejemplo un poquitín más exigente pero igualmente necesario en algunos casos.Ver original
function cambiar_traducciones( $trad , $texto , $dom ) { $traduccion = &get_translations_for_domain( $dom ); 'Enter title here' => 'Nombre del producto', 'Featured Image' => 'Foto del producto' ); foreach($txt as $k => $v) if ( $texto == $k ) return $traduccion->translate( $v ); return $trad; }
Caso 3. Sólo traducir en determinado tipo de post
Supongamos que tenemos un postype identificado como 'productos' y queremos alterar la traducción sólo en éste, dejando post, pages y otros en paz. Usaremos la misma función anterior y agregaremos la condicional pertinente:
Código PHP:
Otro punto importante es que la función sólo actúa sobre las traducciones originales del núcleo de WordPress.Ver original
function cambiar_traducciones( $trad , $texto , $dom ) { global $typenow; $traduccion = &get_translations_for_domain( $dom ); if ( $typenow == 'productos' ) { 'Enter title here' => 'Nombre del producto', 'Set featured image' => 'Agregar foto del producto', 'Featured Image' => 'Foto del producto' ); foreach($txt as $k => $v) if ( $texto == $k ) return $traduccion->translate( $v ); } else return $traduccion->translate( $texto ); return $trad; }
Hasta aquí el mini-tuto (por eso lo de mini). Espero te sirva en más de una ocasión.