Recientemente instalé reCaptcha en un formulario creado con Contact Form 7. La web tiene instalado WPML y gestiona varios idiomas, pero en todos ellos me aparecía el mensaje en castellano “No soy un robot”.

Visto que la detección automática no funcionaba, necesitaba mostrarlo como mínimo en inglés. Para ello, siguiendo las instrucciones del autor del plugin Contact Form 7, añadí el siguiente código al archivo functions.php del tema.


add_action( 'wpcf7_enqueue_scripts', 'custom_recaptcha_enqueue_scripts', 11 );

function custom_recaptcha_enqueue_scripts() {
wp_deregister_script( 'google-recaptcha' );

$url = 'https://www.google.com/recaptcha/api.js';
$url = add_query_arg( array(
'onload' => 'recaptchaCallback',
'render' => 'explicit',
'hl' => 'ar' ), $url );

wp_register_script( 'google-recaptcha', $url, array(), '2.0', true );
}

Los códigos de idioma disponibles los encontraréis aquí:

https://developers.google.com/recaptcha/docs/language