Google reCaptcha根据php if语句更改hl

时间:2016-08-01 15:22:59

标签: javascript php recaptcha

我有一个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' ) {     ?>

因为脚本是由浏览器加载的 - 我该怎么做?

2 个答案:

答案 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>