Traducir Contact Form 7 en widgets usando WPML
O bien no me enteré, o bien la solución que plantean desde Contacto Form 7 para traducir formularios no me servía. Ellos proponen crear otro formulario en otro idioma y añadir cada formulario en la página correspondiente a su idioma. ¿Pero qué pasa cuando el formulario no está en una página sino en un widget dentro de un sidebar?, pues que necesitaremos traducir las cadenas de texto mediante WPML.
Para ello nos creamos un filtro que coge los values de la etiqueta, las registra en WPML y las traduce:
add_filter( 'wpcf7_form_tag', 'wpml_cf7_tags');
function wpml_cf7_tags($scanned_tag, $exec ) {
foreach($scanned_tag['values'] as $i=>$v) {
icl_register_string('Contact Form 7', $v, $v);
$scanned_tag['values'][$i] = icl_t('Contact Form 7', $v, $v);
}
return $scanned_tag;
}
Ahora solo falta traducir las cadenas desde WPML.
Hace tiempo que
Muchas veces queremos que las personas se descarguen las imágenes que tenemos en nuestras páginas web, pero también queremos que quede bien claro quién es el autor. Para ello podemos editar todas las imágenes que tengamos, o bien que el propio entorno se encargue de poner el copyright por nosotros.
Si tienes el formulario en un widget, lo suyo es traducir el widget con el String Translation (y usar el segundo formulario en la traducción) o utilizar un plugin que añada control condicional a la presentación de los widgets.