WordPress 教程:新浪 IP 地址库获取用户所在城市信息

第一步:将下列代码放置到WordPress主题模板函数 functions.php 闭合中:

//获取用户IP地址
function 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;
}
// 新浪IP查询接口获取IP所在地
function getlocation($ip='') {
    empty($ip) && $ip = 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); 
    $arr = json_decode($json,true);
    $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 getlocation();?>

发表评论

Crypto logo

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus cursus rutrum est nec suscipit. Ut et ultrices nisi. Vivamus id nisl ligula. Nulla sed iaculis ipsum.

Contact

Company Name

Address