• 原森林之家(foresthouse.cn)改为走私范(zousifan.com),只是改个名内容不变。
  • 网站图片自建立开始到19年全部丢失,血的教训时刻备份,多点备份!

wordpress实现访客UA信息和地理位置信息

wordpress 9年前 (2015-11-20) 2329次浏览 5个评论 扫描二维码
本文最后更新于2022年7月10日,已超过 1 年没有更新,如果文章内容失效,请 反馈 给我们,谢谢!


免插件实现评论者显示UA信息和地理信息的方法

获取UA信息是在张戈博客看到的,另一个地理位置信息是在其它网站看到的经过合并整理自己修改了一下实现了本站森林之家的评论区的显示样式。
原理(个人见解)评论者的“国家”“浏览器”“操作系统”这三个图标是经过查找IP库来定位具体某个国家或、浏览器、操作系统,返回下载好的本地图标;地理位置信息比如:“中国江苏南京”这几个字是调用新浪网的IP库来实现的。

下面说下具体步骤:

首先把数据包下载下来放到主题的根目录

这是数据包下载地址 (密码:9y73)

把主题目录下的“comments.php”打开搜索“wp_list_comments”如果搜索出来的那段内容中包含“callback=XXX’”(XXX代表任意字符)那么恭喜你,你的主题是自定义评论样式了的,可以继续下一步,如果没有就此打住自己开刀去吧。

然后在主题目录下的“functions.php”中查找上面的“XXX”或者在主题“comments.php”中,大多数都在“functions.php”中,在其后面某个适当的位置加入这行代码:“
<span class="crayon-ta"><?php</span> <span class="crayon-e">CID_print_comment_flag</span><span class="crayon-sy">(</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span> <span class="crayon-k ">echo</span> <span class="crayon-s">' '</span><span class="crayon-sy">;</span><span class="crayon-e">CID_print_comment_browser</span><span class="crayon-sy">(</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span> <span class="crayon-ta">?></span>

具体要在哪里加比如名称后面加完了回来刷新一下看看效果不行再换,说明一下如果在加入上面代码的时候提示包含语法错误的话就把“

<span class="crayon-ta"><?php</span>

”和“

<span class="crayon-ta">?></span>

去掉。

回来刷新看看效果吧。评论区是不是有访客的UA信息了呢,如果没有我就没办法了自行找方法吧,如果有就接着往下看。

访客UA信息加了以后如果觉得不足还可以加些访客地理信息方法如下:

把以下代码放到主题目录下的“functions.php”文件的开头的<?php后面:

 

#获取评论用户的真实IP归属地(www.foresthouse.cn)
function getIPLoc_sina($ip1){
$url = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip='.$ip1;
$ch = curl_init($url);
 //curl_setopt($ch,CURLOPT_ENCODING ,'utf8');
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;
$location = curl_exec($ch);
$location = json_decode($location);
curl_close($ch);
$loc = "";
 if($location===FALSE) return "";
 if (empty($location->desc)) {
$loc = $location->country.$location->province.$location->city;
 }else{
$loc = $location->desc;
 }
 return $loc;
}

可以在“comments.php”调用

<?php echo getIPLoc_sina(get_comment_author_IP()); ?>
即可,如果不知道怎么调用,而且自己的主题是定义了评论样式的可以跟我一样就在主题目录中的“functions.php”的评论样式中,第一步调用UA信息的后面加入:

//访客地理位置
echo getIPLoc_sina(get_comment_author_IP());

也行。


版权所有丨如未注明 , 均为原创丨本网站采用 BY-NC-SA 协议进行授权 , 转载请注明 出处!
喜欢 (5)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
    仅用来给您发送回复提醒。不会公开!
  • 网址
(5)个小伙伴在吐槽
  1. 测试
    嚯嚯2019-12-08 01:09 回复来自天朝的朋友 Netscape Navigator iPhone iPhone OS 12_3_1 like Mac OS X
  2. 哈哈来瞧瞧
    恰恰相反2019-07-08 12:40 回复来自天朝的朋友 谷歌浏览器  Android 9 PCT-AL10 Build/HUAWEIPCT-AL10
  3. 哇塞,居然是沙发?留个名
  4. 额顶顶顶顶顶顶顶顶顶顶顶从
    fasf2016-03-28 10:32 回复来自天朝的朋友 谷歌浏览器 Windows 10
  5. 看看有没有效果
    Han2015-12-03 22:04 回复来自天朝的朋友 谷歌浏览器 Windows 10