Я использую Polylang для перевода моего WordPress сайта, на японском и английском языках. Формы построены с контактной формой 7.
Я нашел некоторый код для изменения языка reCAPTCHA с английского на японский, используя код ниже:
function wptricks24_recaptcha_scripts() {
wp_deregister_script( 'google-recaptcha' );
$url = 'https://www.google.com/recaptcha/api.js';
$url = add_query_arg( array(
'onload' => 'recaptchaCallback',
'render' => 'explicit',
'hl' => 'ja'), $url ); // es is the language code for Spanish language
wp_register_script( 'google-recaptcha', $url, array(), '2.0', true );
}
add_action( 'wpcf7_enqueue_scripts', 'wptricks24_recaptcha_scripts', 11 );
Это заставляет все мои формы отображать reCAPTCHA на японском языке, есть ли способ сделать так, чтобы reCAPTCHA на английских страницах отображался на английском и японском на японских страницах?
Это потому, что вы все время устанавливаете его на японский. Для получения текущей языковой локали из Polyland используйте pll_current_language()
function wptricks24_recaptcha_scripts()
{
wp_deregister_script('google-recaptcha');
$url = 'https://www.google.com/recaptcha/api.js';
$url = add_query_arg(array(
'onload' => 'recaptchaCallback',
'render' => 'explicit',
'hl' => pll_current_language('slug')), $url);
wp_register_script('google-recaptcha', $url, array(), '2.0', true);
}
add_action('wpcf7_enqueue_scripts', 'wptricks24_recaptcha_scripts', 11);
Других решений пока нет …