我有一个wordpress网站。
我的网站有5种语言,这是通过此变量ICL_LANGUAGE_CODE
确定的 - 我在我的php文件中使用它来根据用户选择的语言更改显示的内容。
该网站有一个与之捆绑的联系表格,我可以通过php文件进行编辑。表单包含v2 Google reCaptcha
。 reCaptcha问题的语言是自动的 - 但它不能很好地工作。
例如,如果一个人在西班牙,即使他们是荷兰语,也是我在该网站的荷兰语区域,该语言也是西班牙语,并且无法将其更改为网站用户。
我已经编辑了代码,因此默认行为是英文,只需将hl=en
添加到下面一行。
<script type="text/javascript" src="https://www.google.com/recaptcha/api.js?hl=en&onload=onloadCallback&render=explicit" async defer></script>
但是我想更改hl
的参数,具体取决于我的网站用户选择阅读网站的语言。我知道我不能简单地将脚本放在php if语句中这一个;
<?php if ( ICL_LANGUAGE_CODE=='en' ) { ?>
因为脚本是由浏览器加载的 - 我该怎么做?
答案 0 :(得分:0)
首先,您需要查看Google接受的相应语言代码,然后相应地调整代码,以便发送正确的参数。 https://developers.google.com/recaptcha/docs/language
然后你将简单地写下面的内容:
<script type="text/javascript" src="https://www.google.com/recaptcha/api.js?hl=<?php $ICL_LANGUAGE_CODE;?>&onload=onloadCallback&render=explicit" async defer></script>
您将使用用户选择的语言代替&#39; en&#39;呈现页面。但同样,您的$ICL_LANGUAGE_CODE
变量必须完全输出谷歌所期望的或不起作用。
答案 1 :(得分:0)
此代码有效。感谢colecmc的结构。此代码稍微改变了调用WPML参数的方式。现在Google reCapcha以网站用户选择查看网站的任何语言生成。
<script type="text/javascript" src="https://www.google.com/recaptcha/api.js?hl=<?php echo ICL_LANGUAGE_CODE; ?>&onload=onloadCallback&render=explicit" async defer></script>