WordPress 如何判断访客浏览器
主题模板适当位置添加调用:
<?php
global $is_IE;
if ($is_IE) {
echo '您正在使用不安全的IE浏览器,请使用现代浏览器,浏览本站,以获得最佳体验!';
}
?>
如果想针对其它浏览器,可以参照下面的变量,以此类推。
$is_iphone (boolean) iPhone Safari
$is_chrome (boolean) Google Chrome
$is_safari (boolean) Safari
$is_NS4 (boolean) Netscape 4
$is_opera (boolean) Opera
$is_macIE (boolean) Mac Internet Explorer
$is_winIE (boolean) Windows Internet Explorer
$is_gecko (boolean) FireFox
$is_lynx (boolean)
$is_IE (boolean) Internet Explorer
$is_edge (boolean) Microsoft Edge
Wordpress 如何判断是否为微信、QQ内置浏览器访问
//Wordpress 如何判断是否为微信、QQ内置浏览器访问
//前端适合位置调用代码:
// if (is_wx_qq()) {
// die('网站不支持QQ或者微信内访问,请点击右上角菜单,使用外部浏览器打开网站');
//这里可以写入你要做的任何操作,例如跳转、提示、代码
// }
function is_wx_qq(){
$user_agent = $_SERVER['HTTP_USER_AGENT'];
if (strpos($user_agent, 'MicroMessenger') == false && strpos($user_agent, 'QQ/') == false) {
return false;
} else {
return true;
}
}
WordPress根据浏览器语言自动跳转网址的方法
在用wordpress做多个语言的网站,例如英文和中文。同时有些外贸站站长不希望自己的网站被国内用户访问,想要国内用户跳转到不同的网址,我们可以利用浏览器语言来判断用户环境,然后自动跳转到不同的网址上面,具体方法如下。
在你的网站主题头部文件(header.php)里面插入下面的代码:
<?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 */的下方。
上面的代码中,你可以添加更多的语言,例如巴西、法语、葡萄牙语,然后对应跳转到不同的网址,多种语言跳转代码如下:
<?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
$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'>");