前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WordPress根据浏览器语言自动跳转网址的方法

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

原创
作者头像
主机优惠教程
发布2022-04-09 20:47:18
8670
发布2022-04-09 20:47:18
举报

有不少使用WordPress搭建外贸站的公司都会做多个语言的网站,例如英文和中文。同时有些外贸站站长不希望自己的网站被国内用户访问,想要国内用户跳转到不同的网址,我们可以利用浏览器语言来判断用户环境,然后自动跳转到不同的网址上面,具体方法如下:

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

代码语言:javascript
复制
<?php
// 定义变量 lc
$lc = ""; 
// 检查是否已经设置过 HTTP头Accept-Language信息变量
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
$lc = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
// 这里截取语言编码前两位来判断,如果是中文,转向百度
if($lc == "zh"){
header("location: https://www.baidu.com"); 
exit();
}
?>

考虑到很多是新手朋友,不会修改代码,所以建议安装一个Code Snippets插件,安装后启用插件,编辑Example JavaScript snippet这个片段,把上面的代码插入到/* write your JavaScript code here */的下方。

然后保存就可以激活启用代码了。

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

代码语言:javascript
复制
<?php
$lc = ""; 
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
$lc = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
if($lc == "pt"){
header("location: https://blog.naibabiji.com/"); 
}
else if($lc == "fr"){
header("location: https://blog.naibabiji.com/skill/language-redirection.html"); 
exit();
}
?>

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

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 语句

代码语言:javascript
复制
if (条件)
{
    if 条件成立时执行的代码;
}
elseif (条件)
{
    elseif 条件成立时执行的代码;
}
else
{
    条件不成立时执行的代码;
}

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

代码语言:javascript
复制
<?php
$lan = substr( $HTTP_ACCEPT_LANGUAGE,0,5);
if ($lan == "zh-cn")
print("<meta http-equiv='refresh' content = '0;URL = gb/index.htm'>");
else
print("<meta http-equiv='refresh' content = '0;URL = eng/index.htm'>");

而如果你是使用的一些翻译插件做的多语言网站,通常插件设置里面可以直接开启跳转功能。

除了修改代码外,也可以通过域名解析,直接使用ip地址定位来直接跳转,一些高级点的DNS服务商都支持这个功能。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档