wordpress教程:显示用户所在国家,省份以及城市

使用wordpress建站时,如需要显示用户所在国家、省份以及城市,通过新浪的IP查询工具接口利用json可以快速实现 。第一步:在function.php加入以下代码:

function ruikeedu_getip(){
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) {
$ip = getenv("HTTP_CLIENT_IP");
} else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) {
$ip = getenv("HTTP_X_FORWARDED_FOR");
} else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) {
$ip = getenv("REMOTE_ADDR");
} else  if (isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) {
$ip = $_SERVER['REMOTE_ADDR'];
} else {
$ip = "unknown";
}
return $ip;
}
function ruikeedu_getLocation($ip=''){
empty($ip) && $ip = ruikeedu_getip();
if($ip=="127.0.0.1") return "本机地址";
$api = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=$ip";
$json = @file_get_contents($api);//调用新浪IP地址库
$arr = json_decode($json,true);//解析json
$country = $arr['country']; //取得国家
$province = $arr['province'];//获取省份
$city = $arr['city']; //取得城市
if((string)$country == "中国"){
if((string)($province) != (string)$city){
$_location = $province.$city;
}else{
$_location = $country.$city;
}
}else{
$_location = $country;
}
return $_location;
}

第二步:在需要显示访客地址的地方写入下面的代码:
欢迎您,来自<?php echo ruikeedu_getLocation();?>的朋友!

人已赞赏
WordPress建站

WordPress教程:实现添加角色与更改角色名称

2021-3-10 7:10:37

WordPress建站

WordPress教程:主题/插件添加升级功能

2021-3-10 7:10:45

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索