今天给大家介绍一款非常实用的用户信息增强功能,通过这款功能我们可以在我们的wordpress主题信息里添加用户所在的国家、省份及城市,我们只需要通过ip查询工具利用json接口快速实现就可以。
将下面的代码放到wordrpess主题的function里面。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
function liuronghuan_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 liuronghuan_getLocation($ip=''){ empty($ip) && $ip = liuronghuan_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; } |
在需要显示访客地址的地方写入下面的代码:
欢迎您的到来,来自
1 |
<?php echo liuronghuan_getLocation();?> |
的挖友!