亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > CMS > Wordpress > 正文

wordpress顯示評論者地理位置與瀏覽器類型

2024-09-07 00:51:14
字體:
來源:轉載
供稿:網友

wordpress評論不具體記錄評論者的地理位置與瀏覽器類型,這個功能我們需要進入二次開發或使用插件,下面我介紹的不使用插件,是直接使用源碼操作,具體例子如下.

顯示評論者地理位置

將以下函數放到你的functions.php 中,實現的原理是利用新浪和淘寶的IP查詢接口,返回IP所屬城市,小修了下代碼,去掉了掛載點,直接在顯示評論時調用函數,代碼如下:

  1. /** 
  2.  * 使用api獲取<a title="查看與城市有關的文章" 城市名 
  3.  * @param string $ip 
  4.  * @return string|mixed 
  5.  */ 
  6. function wpgo_get_city($ip = null) { 
  7.     $ip = $ip == null ? wpgo_get_ip() : $ip
  8.     $ipApi = array ( 
  9.             'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip='
  10.             'http://ip.taobao.com/service/getIpInfo.php?ip=' 
  11.     ); 
  12.  
  13.     foreach ( $ipApi as $k=> $api ) { 
  14.         $res = wp_remote_get ( $api . $ip ); 
  15.         if ( is_object ( $res ) && $k == 0 ) { 
  16.             continue
  17.         } 
  18.         if (! emptyempty ( $res ['body'] )) { 
  19.             $return = json_decode ( $res ['body'], true ); 
  20.             if (! emptyempty ( $return ['city'] )) { 
  21.                 return $return ['city']; 
  22.             } elseif$return ['province'] == '香港' || $return ['province'] == '澳門') { 
  23.                 return $return ['province']; 
  24.             } else { 
  25.                 return $return ['country']; 
  26.             } 
  27.         } 
  28.     } 
  29.     return false; 
  30.  
  31. /** 
  32.  * 獲取當前用戶ip 
  33.  * @return string 
  34.  */ 
  35. function wpgo_get_ip() { 
  36.     if ( getenv ( "HTTP_CLIENT_IP" ) && strcasecmp ( getenv ( "HTTP_CLIENT_IP" ), "unknown" ) ) { 
  37.         $ip = getenv ( "HTTP_CLIENT_IP" ); 
  38.     } elseif (getenv ( "HTTP_X_FORWARDED_FOR" ) && strcasecmp ( getenv ( "HTTP_X_FORWARDED_FOR" ), "unknown" )) { 
  39.         $ip = getenv ( "HTTP_X_FORWARDED_FOR" ); 
  40.     } elseif (getenv ( "REMOTE_ADDR" ) && strcasecmp ( getenv ( "REMOTE_ADDR" ), "unknown" )) { 
  41.         $ip = getenv ( "REMOTE_ADDR" ); 
  42.     } elseif (isset ( $_SERVER ['REMOTE_ADDR'] ) && $_SERVER ['REMOTE_ADDR'] && strcasecmp ( $_SERVER ['REMOTE_ADDR'], "unknown" )) { 
  43.         $ip = $_SERVER ['REMOTE_ADDR']; 
  44.     } 
  45.     if ($_SERVER ['REMOTE_ADDR'] == '127.0.0.1' && $ip == 'unknown') { 
  46.         $ip = 'localhost'
  47.     } 
  48.     return $ip

最重要的一段:最后在你的模板輸出評論之前,獲取城市字段,下面是引用我模板里的代碼,你只能參考判斷方式,具體怎么修改得根據你的模板來修改,代碼如下:

  1. // 如果是管理員回復 
  2. if ( $is_admin ) { 
  3.     $city = '來自管理員的回復'
  4. else { 
  5.     // 兼容以前還沒有城市字段的評論 
  6.     $city = get_comment_meta( $comment->comment_ID, 'city_name', true ); 
  7.     if( !$city ) { 
  8.         $city = wpgo_get_city ( $comment->comment_author_IP ); 
  9.         // 如果api可以正常獲取到城市信息,則插入數據庫 
  10.         if ( $city ) { 
  11.             update_comment_meta( $comment->comment_ID, 'city_name'$city ); 
  12.         } else { 
  13.         // 如果因為異常獲取不到api的信息,返回自定義字符串,留著下次讀取評論時再重新獲取 
  14.             $city = '火星'
  15.         } 
  16.     } 
  17.     $city = "來自{$city}的網友"

顯示評論者瀏覽器類型,將下面代碼放入function.php中,代碼如下:

  1. function getbrowser($Agent
  2.     { 
  3.         if ($Agent == ""
  4.   $Agent = $_SERVER['HTTP_USER_AGENT']; 
  5.         $browser = ''
  6.         $browserver = ''
  7.         if(ereg('Mozilla'$Agent) && ereg('Chrome'$Agent)) 
  8.         { 
  9.             $temp = explode('('$Agent); 
  10.             $Part = $temp[2]; 
  11.             $temp = explode('/'$Part); 
  12.             $browserver = $temp[1]; 
  13.             $temp = explode(' '$browserver); 
  14.             $browserver = $temp[0]; 
  15.             $browser = 'Chrome'
  16.         } 
  17.  if(ereg('Mozilla'$Agent) && ereg('Firefox'$Agent)) 
  18.         { 
  19.             $temp = explode('('$Agent); 
  20.             $Part = $temp[1]; 
  21.             $temp = explode('/'$Part); 
  22.             $browserver = $temp[2]; 
  23.             $temp = explode(' '$browserver); 
  24.             $browserver = $temp[0]; 
  25.            $browser = 'Firefox'
  26.         } 
  27.         if(ereg('Mozilla'$Agent) && ereg('Opera'$Agent))  
  28.         { 
  29.             $temp = explode('('$Agent); 
  30.             $Part = $temp[1]; 
  31.             $temp = explode(')'$Part); 
  32.             $browserver = $temp[1]; 
  33.             $temp = explode(' '$browserver); 
  34.             $browserver = $temp[2]; 
  35.             $browser = 'Opera'
  36.         } 
  37.  if(ereg('Mozilla'$Agent) && ereg('UCBrowser'$Agent))  
  38.         { 
  39.             $temp = strrchr($Agent,'/'); 
  40.             $browserver = substr($temp,1); 
  41.             $browser = 'UC'
  42.         } 
  43.         if(ereg('Mozilla'$Agent) && ereg('MSIE'$Agent)) 
  44.         { 
  45.             $temp = explode('('$Agent); 
  46.             $Part = $temp[1]; 
  47.             $temp = explode(';'$Part); 
  48.             $Part = $temp[1]; 
  49.             $temp = explode(' '$Part); 
  50.             $browserver = $temp[2]; 
  51.             $browser = 'Internet Explorer'
  52.         } 
  53.         //其余瀏覽器按需自己增加 
  54.         if($browser != ''
  55.         { 
  56.             $browseinfo = $browser.' '.$browserver
  57.         }  
  58.         else 
  59.         { 
  60.             $browseinfo = $Agent
  61.         } 
  62.    
  63.         return $browseinfo
  64.     } 

上面的getbrowser()函數返回的是瀏覽器名字+瀏覽器版本,在相關位置調用,讓其顯示出來即可,最后打開wordpress下的wp-includes/comment-template,查找function get_comment_author_link函數,在最后一個return之前加入調用函數,以及顯示對應小圖標功能,代碼如下:

  1. if($comment
  2.  $ua = $comment->comment_agent; 
  3. else 
  4.  $ua = ""
  5. $tmp = getbrowser($ua); 
  6. if($tmp != "") { 
  7.  $br = explode(' ',$tmp); 
  8.  if(stristr($br[0],'chrome')) 
  9.   $brimg = "/chrome.png"
  10.  elseif(stristr($br[0],'firefox')) 
  11.   $brimg = "/firefox.png"
  12.  elseif(stristr($br[0],'opera')) 
  13.   $brimg = "/opera.png"
  14.  elseif(stristr($br[0],'internet')) 
  15.   $brimg = "/ie.png"
  16.  elseif(stristr($br[0],'Safari')) 
  17.   $brimg = "/Safari.png"
  18.  elseif(stristr($br[0],'UC')) 
  19.   $brimg = "/ucweb.png"
  20.  else  
  21.   $brimg = "/anonymouse.png"
  22.  $return .= " <img src='".$brimg."' title='".getbrowser($ua)."' />"

到這里,大功告成,剩下的有時間的話,再把其他瀏覽器補全了,目前只支持chrome,ie,firefox,opera等簡單的識別.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩免费视频在线观看| 亚洲色图欧美制服丝袜另类第一页| 隔壁老王国产在线精品| 国产精品久久久久久久久男| 欧美性生活大片免费观看网址| 亚洲人成网站免费播放| 欧美激情2020午夜免费观看| 成人免费在线视频网址| 成人av色在线观看| 国产成人啪精品视频免费网| 日韩欧美在线播放| 欧美精品久久久久a| 韩国一区二区电影| 国产精品一区专区欧美日韩| 成人在线免费观看视视频| 亚洲精品视频中文字幕| 亚洲午夜精品久久久久久性色| 日韩av中文字幕在线播放| 国产一区二区三区丝袜| 欧美日韩亚洲一区二区三区| 97视频在线播放| 亚洲综合av影视| 国产精品久久久91| 最近2019免费中文字幕视频三| 国产精品旅馆在线| 亚洲第五色综合网| 国产精品久久久久久久电影| 欧美午夜性色大片在线观看| 国产欧美精品一区二区三区-老狼| 成人国产精品免费视频| 欧美日韩国产精品专区| 日韩资源在线观看| 国产欧美日韩中文字幕在线| 国产成人综合av| 国产精品久久久久久久av大片| 狠狠躁夜夜躁人人躁婷婷91| 欧美人交a欧美精品| 97精品久久久中文字幕免费| 国产精品偷伦一区二区| 亚洲精品大尺度| 97视频国产在线| 成人性生交大片免费看视频直播| 少妇高潮 亚洲精品| 欧美日韩高清区| 欧美午夜丰满在线18影院| 色视频www在线播放国产成人| 亚洲一区二区三区在线视频| 久热精品视频在线免费观看| 久久全国免费视频| 精品久久久一区| 欧美成人免费va影院高清| 亚洲精品午夜精品| 欧美精品18videosex性欧美| 狠狠做深爱婷婷久久综合一区| 97人人爽人人喊人人模波多| 日韩视频在线一区| 精品动漫一区二区| 中文亚洲视频在线| 成人黄色大片在线免费观看| 久久影视免费观看| 国产综合久久久久久| 国产经典一区二区| 国产日韩欧美夫妻视频在线观看| 欧美日韩免费区域视频在线观看| 欧美成人性生活| 欧美精品电影免费在线观看| 欧美精品在线观看91| 国产精品扒开腿做爽爽爽的视频| 成人午夜在线视频一区| 亚洲视频电影图片偷拍一区| 久久天天躁狠狠躁夜夜躁2014| 好吊成人免视频| 91精品视频在线免费观看| 91久久久久久久久久久| 日韩美女av在线| 91日本视频在线| 成人午夜高潮视频| 日韩av在线不卡| 亚洲精品一二区| 亚洲成人av在线播放| 欧美成年人在线观看| 亚洲国产97在线精品一区| 久久久国产精品x99av| 久久色精品视频| 色噜噜狠狠狠综合曰曰曰88av| 日韩a**中文字幕| 欧美日韩国产综合视频在线观看中文| 久久亚洲精品成人| 亚洲一区二区三区视频| 69av在线视频| 欧美日韩高清在线观看| 青青久久av北条麻妃黑人| 亚洲精品美女在线观看| 日韩中文在线不卡| 色狠狠久久aa北条麻妃| 国产精品第一区| 成人动漫网站在线观看| 色婷婷综合久久久久| 亚洲免费av片| 久久亚洲国产精品成人av秋霞| 97超级碰碰碰| 日韩欧美在线视频观看| 久久成人这里只有精品| 亚洲精品国产品国语在线| 97在线观看免费高清| 欧美另类在线播放| 亚洲成人激情小说| 成人精品视频久久久久| 懂色av影视一区二区三区| 欧美日韩不卡合集视频| 国外成人免费在线播放| 性色av一区二区三区红粉影视| 日韩免费中文字幕| 国产亚洲激情视频在线| 91精品国产高清久久久久久91| 在线亚洲午夜片av大片| 国产亚洲精品久久| 欧美精品在线观看91| 亚洲曰本av电影| 国产精品1区2区在线观看| 日韩中文在线不卡| 欧美与欧洲交xxxx免费观看| 国产亚洲精品高潮| 国产欧美日韩免费看aⅴ视频| 久久久久久91| 久久影视免费观看| 性色av一区二区三区免费| 国产成人精品视| 国产精品久久久久久久久久ktv| 国产精品精品国产| 国产精品91久久| 精品国产一区二区三区久久久狼| 亚洲女在线观看| 91嫩草在线视频| 欧美日韩一区二区精品| 国产精品r级在线| 久久精品久久久久电影| 91久久国产综合久久91精品网站| 亚洲丝袜在线视频| 91免费在线视频| 中文字幕9999| 日韩毛片在线看| 亚洲欧美制服综合另类| 欧美亚洲第一页| 8090成年在线看片午夜| 欧美久久精品一级黑人c片| 欧美另类精品xxxx孕妇| 日本一本a高清免费不卡| 日韩在线视频一区| 国产精品美女主播在线观看纯欲| 日韩在线视频免费观看高清中文| 亚洲乱码一区二区| 成人黄色片网站| 久久久电影免费观看完整版| 国产区精品在线观看| 亚洲欧洲黄色网| 91av在线不卡| 亚洲精品美女久久| 日韩在线视频播放| 国产99在线|中文| 欧美激情一区二区三区高清视频| 日韩成人中文字幕在线观看| 欧美成人全部免费| 欧美成人午夜激情在线|