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.
Últimamente el número de frameworks para PHP que aparecen crece cada vez más rápido. Solar es un framework para PHP5 que nos permite desarrollar aplicaciones web de forma rápida. Usa conceptos derivados del sistema de plantillas
La gente de WordPress ha lanzado la versión 2.0.5, la cual es recomendable su descarga para actualizar la versión que disponamos ya que incluye varias correcciones de seguridad. El total de correcciónes está disponible
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.