WordPress根据浏览器语言自动跳转网址的方法

2021-05-22 0 1,225 百度已收录

我们在使用WordPress搭建外贸站的公司都市做多个语言的网站,例如英文和中文。同时有些外贸站站长不希望自己的网站被海内用户接见,想要海内用户跳转到差其余网址,我们可以行使浏览器语言来判断用户环境,然后自动跳转到差其余网址上面,详细方式如下。

在你的网站主题头部文件(header.php)内里插入下面的代码:

  1. <?php
  2. // 界说变量 lc
  3. $lc = ""; 
  4. // 检查是否已经设置过 HTTP头Accept-Language信息变量
  5. if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
  6. $lc = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
  7. // 这里截取语言编码前两位来判断,若是是中文,转向百度
  8. if($lc == "zh"){
  9. header("location: https://www.baidu.com"); 
  10. exit();
  11. }
  12. ?>

思量到许多是新手同伙,不会修改代码,以是建议安装一个Code Snippets插件,安装后启用插件,编辑Example JavaScript snippet这个片断,把上面的代码插入到/* write your JavaScript code here */的下方。
WordPress根据浏览器语言自动跳转网址的方法
然后保留就可以激活启用代码了。

上面的代码中,你可以添加更多的语言,例如巴西、法语、葡萄牙语,然后对应跳转到差其余网址,多种语言跳转代码如下:

  1. <?php
  2. $lc = ""; 
  3. if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
  4. $lc = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
  5. if($lc == "pt"){
  6. header("location: https://blog.naibabiji.com/"); 
  7. }
  8. else if($lc == "fr"){
  9. header("location: https://blog.naibabiji.com/skill/language-redirection.html"); 
  10. exit();
  11. }
  12. ?>

以上方式参考料神文章,下面是常见的浏览器语言代码。

af 南非公用荷兰语 sq 阿尔巴尼亚语
ar-sa 阿拉伯语(沙特阿拉伯) ar-iq 阿拉伯语(伊拉克)
ar-eg 阿拉伯语(埃及) ar-ly 阿拉伯文(利比亚)
ar-dz 阿拉伯文(阿尔及利亚) ar-ma 阿拉伯语(摩洛哥)
ar-tn 阿拉伯语(突尼斯) ar-om 阿拉伯文(阿曼)
ar-ye 阿拉伯文(也门) ar-sy 阿拉伯文(叙利亚)
ar-jo 阿拉伯文(约旦) ar-lb 阿拉伯语(黎巴嫩)
ar-kw 阿拉伯文(科威特) ar-ae 阿拉伯语(阿联酋)
ar-bh 阿拉伯语(巴林) ar-qa 阿拉伯文(卡塔尔)
eu 巴斯克语 bg 保加利亚语
be 白俄罗斯语 ca 加泰罗尼亚语
zh-tw 中文(台湾) zh-cn 中文(中华人民共和国)
zh-hk 中文(香港特区) zh-sg 中文(新加坡)
hr 克罗地亚语 cs 捷克语
da 丹麦语 nl 荷兰语(尺度)
nl-be 荷兰语(比利时) en 英语
en-us 英语(美国) en-gb 英语(英国)
en-au 英语(澳大利亚) en-ca 英语(加拿大)
en-nz 英语(新西兰) en-ie 英国(爱尔兰)
en-za 英语(南非) en-jm 英语(牙买加)
en 英语(加勒比海) en-bz 英语(伯利兹)
en-tt 英语(特立尼达和多巴哥) et 爱沙尼亚语
fo 法罗语 fa 波斯语
fi 芬兰语 fr 法语(尺度)
fr-be 法语(比利时) fr-ca 法语(加拿大)
fr-ch 法语(瑞士) fr-lu 法语(卢森堡)
gd 盖尔语(苏格兰) ga 爱尔兰语
de 德语(尺度) de-ch 德语(瑞士)
de-at 德语(奥地利) de-lu 德语(卢森堡)
de-li 德语(列支敦士登) el 希腊
he 希伯来语 hi 印地文
hu 匈牙利语 is 冰岛语
id 印度尼西亚语 it 意大利语(尺度)
it-ch 意大利语(瑞士) ja 日语
ko 韩语 ko 韩文(韓文)
lv 拉脱维亚语 lt 立陶宛语
mk 马其顿语(前南马其顿) ms 马来西亚语
mt 马耳他语 no 挪威文(巴克摩)
no 挪威文(耐诺斯克) pl 波兰语
pt-br 葡萄牙语(巴西) pt 葡萄牙语(葡萄牙)
rm 里托罗曼斯文 ro 罗马尼亚语
ro-mo 罗马尼亚语(摩尔多瓦共和国) ru 俄语
ru-mo 俄罗斯(摩尔多瓦共和国) sz 萨米语(拉普语)
sr 塞尔维亚语(西里尔文) sr 塞尔维亚语(拉丁)
sk 斯洛伐克语 sl 斯洛文尼亚语
sb 索布语 es 西班牙语(西班牙)
es-mx 西班牙语(墨西哥) es-gt 西班牙语(危地马拉)
es-cr 西班牙语(哥​​斯达黎加) es-pa 西班牙语(巴拿马)
es-do 西班牙文(多米尼加共和国) es-ve 西班牙语(委内瑞拉)
es-co 西班牙语(哥​​伦比亚) es-pe 西班牙语(秘鲁)
es-ar 西班牙语(阿根廷) es-ec 西班牙语(厄瓜多尔)
es-cl 西班牙语(智利) es-uy 西班牙语(乌拉圭)
es-py 西班牙语(巴拉圭) es-bo 西班牙语(玻利维亚)
es-sv 西班牙语(萨尔瓦多) es-hn 西班牙语(洪都拉斯)
es-ni 西班牙语(尼加拉瓜) es-pr 西班牙语(波多黎各)
sx 苏图语 sv 瑞典语
sv-fi 瑞典语(芬兰) th 泰国语
ts 特松加语 tn 茨瓦纳语
tr 土耳其语 uk 乌克兰语
ur 乌尔都语 ve 文达语
vi 越南语 xh 科萨语
ji 意第绪语 zu 祖鲁语

多个语言判断是使用的PHP – if…elseif….else 语句

  1. if (条件)
  2. {
  3.     if 条件确立时执行的代码;
  4. }
  5. elseif (条件)
  6. {
  7.     elseif 条件确立时执行的代码;
  8. }
  9. else
  10. {
  11.     条件不确立时执行的代码;
  12. }

除了上面的方式外,还可以插入下面这个代码,同样也可以实现差异语言的跳转。

  1. <?php
  2. $lan = substr($HTTP_ACCEPT_LANGUAGE,0,5);
  3. if ($lan == "zh-cn")
  4. print("<meta http-equiv='refresh' content = '0;URL = gb/index.htm'>");
  5. else
  6. print("<meta http-equiv='refresh' content = '0;URL = eng/index.htm'>");

而若是你是使用的一些翻译插件做的多语言网站,通常插件设置内里可以直接开启跳转功效。除了修改代码外,也可以通过域名剖析,直接使用ip地址定位来直接跳转,一些高级点的DNS服务商都支持这个功效。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!3308869544
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有猫币奖励和额外收入!

主题镇 WP教程 WordPress根据浏览器语言自动跳转网址的方法 https://zhutizhen.com/14873.html

永远为用户服务的镇长!

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或联络我们。
查看详情

相关文章