wordpress显示访客所在地(图)

今天企鹅seo给大家分享一个可以显示访客所在地的功能。当访客看你的网站的时候,可以看到他本人IP所在地。

效果图:

第一步:在functions.php中添加以下代码

  1. //显示访客所在地
  2. function liuronghuan_getip(){
  3.  if (getenv(“HTTP_CLIENT_IP”) && strcasecmp(getenv(“HTTP_CLIENT_IP”), “unknown”)) {
  4.    $ip = getenv(“HTTP_CLIENT_IP”);
  5.   } else if (getenv(“HTTP_X_FORWARDED_FOR”) && strcasecmp(getenv(“HTTP_X_FORWARDED_FOR”), “unknown”)) {
  6.    $ip = getenv(“HTTP_X_FORWARDED_FOR”);
  7.   } else if (getenv(“REMOTE_ADDR”) && strcasecmp(getenv(“REMOTE_ADDR”), “unknown”)) {
  8.    $ip = getenv(“REMOTE_ADDR”);
  9.   } else  if (isset ($_SERVER[‘REMOTE_ADDR’]) && $_SERVER[‘REMOTE_ADDR’] && strcasecmp($_SERVER[‘REMOTE_ADDR’], “unknown”)) {
  10.    $ip = $_SERVER[‘REMOTE_ADDR’];
  11.   } else {
  12.    $ip = “unknown”;
  13.   }
  14.  return $ip;
  15. }
  16. function liuronghuan_getLocation($ip=){
  17.  emptyempty($ip) && $ip = liuronghuan_getip();
  18.  if($ip==“127.0.0.1”return “本机地址”;
  19.  $api = “http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=$ip”;
  20.  $json = @file_get_contents($api);//调用新浪IP地址库 
  21.  $arr = json_decode($json,true);//解析json
  22.  $country = $arr[‘country’]; //取得国家
  23.  $province = $arr[‘province’];//获取省份 
  24.  $city = $arr[‘city’]; //取得城市
  25.  if((string)$country == “中国”){
  26.   if((string)($province) != (string)$city){
  27.    $_location = $province.$city;
  28.   }else{
  29.    $_location = $country.$city;
  30.   }
  31.  }else{
  32.   $_location = $country;
  33.  }
  34.  return $_location;
  35. }

第二步:添加显示位置代码:

  1. 欢迎您,来自<?php echo liuronghuan_getLocation();?>的朋友!

本站将以上代码添加到了侧边栏小工具中了。