78模板网分享cms建站教程,提供网站模板、网站插件、办公模板等模板教程免费学习,找模板教程就上78模板网!

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

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

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

在你的网站主题头部文件(header.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.78yuanma.com");
    exit();
}

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

add_action('wp_head', function(){

    <script>

        /* write your JavaScript code here */

    </script>

});

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

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

$lc = "";
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
    $lc = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
}
if($lc == "pt"){
    header("location: http://www.78moban.cn/");
}else if($lc == "fr"){
    header("location: http://www.78moban.cn/");
    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 语句

if(条件){

    if 条件成立时执行的代码;

}else if(条件){

    elseif 条件成立时执行的代码;

}else{

    条件不成立时执行的代码;

}

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

$lan = substr( $HTTP_ACCEPT_LANGUAGE,0,5);
if($lan == "zh-cn"){
    print("");
}else{
    print("");
}

当然,如果你的主题有自定义设置项,你可以适用如下代码添加到主题头部自定义区域:

<script type="text/javascript">
  var type = navigator.appName;
  if (type == "Netscape"){
      var lang = navigator.language;//获取浏览器配置语言,支持非IE浏览器
  }else{
      var lang = navigator.userLanguage;//获取浏览器配置语言,支持IE5+ == navigator.systemLanguage
  };
  var lang = lang.substr(0, 2);//获取浏览器配置语言前两位
  if (lang == "zh"){
//window.location.replace('http://www.78moban.cn/');//中文编码时打开链接
  }else if (lang == "en"){
      window.location.replace('http://www.78moban.cn/en-US/');
  }else{//其他语言编码时打开以下链接
      window.location.replace('http://www.78moban.cn/en-US/');
  };
</script>

本文链接:http://78moban.cn/post/11969.html

版权声明:站内所有文章皆来自网络转载,只供模板演示使用,并无任何其它意义!

联系技术
文章删除 友链合作 技术交流群
1050177837
公众号
公众号
公众号
返回顶部