

微博抖音知乎相继推出展示用户IP属地功能,微信公众平台也即将展示用户IP属地
于是想给WordPress博客留言加个IP属地功能,网上有现成的教程
米扑博客:总结分享WordPress显示评论者IP归属地、浏览器、终端设备、电信运营商 – 米扑博客 (mimvp.com)
该文章更新于2016-09-12,现在尝试也依然好用,但是IP数据库有点老旧了,于是笔者更新了一下。
下面简单介绍一下使用方法:
1、下载压缩包
请到附件下载
2、上传到主题根目录
把压缩包上传到主题的根目录,注意不是WordPress根目录,解压后的文件列表如下
useragent
├── browsers
├── flags
├── ip2c
├── ip2c-qqwry.dat
├── ip2c-text.php
└── show-useragent.php
3. 编辑 functions.php
在 php 作用域内,添加一行代码:
include("useragent/ip2c-text.php");
4、编辑xxx-comment.php 模板
各个主题模板不同,我们需要在评论者用户后面,添加显示IP归属地、浏览器图标等信息,因此需要找到评论者的位置,查找方法:F12查看元素。
在合适位置添加代码如下:
<?php
echo " ";echo "<span id='ua-info-text' class='comment_ua_info' style='font-size:14px;font-weight:normal;color:#aaa;'>";
echo convertip(get_comment_author_ip());
echo "</span>";
?>
5、效果优化
如需默认隐藏IP属地,则style添加样式
display:none;
footer.php添加以下代码:
<!-- comment ua-info -->
<script>
jQuery('.comment-body').hover(
function(){
jQuery(this).find('span.comment_ua_info').show();
},
function(){
jQuery(this).find('span.comment_ua_info').hide();
});
jQuery('.comment-body').click(
function(){
jQuery(this).find('span.comment_ua_info').show();
});
</script>
如需一键显示/隐藏IP属地则footer.php添加以下代码:
<script>
jQuery(".comment_show_ip").click(function(){
if(jQuery(".comment_show_ip").text() == "显示IP属地") {
jQuery(".comment_ua_info").show();
jQuery(".comment_show_ip").html("隐藏IP属地");
}
else {
jQuery(".comment_ua_info").hide();
jQuery(".comment_show_ip").html("显示IP属地");
}
});
</script>
在xxx-comment.php模板合适位置加入
<span id="comment_show_ip" class="comment_show_ip" style="color:blue; font-size:14px;float:right">显示IP属地</span>
效果图:

演示页面:https://www.jishusongshu.com/guestbook/
6、更新IP归属数据库
参考资料:纯真 IP 数据库自动更新 qqwry.dat 文件教程 – 泪雪博客 (zhangzifan.com)
方法:新建一个php文件,网络访问它,即可生成一个dat文件
<?php
// PHP 纯真 IP 地址数据库自动更新功能
$copywrite = file_get_contents("http://update.cz88.net/ip/copywrite.rar");
$qqwry = file_get_contents("http://update.cz88.net/ip/qqwry.rar");
$key = unpack("V6", $copywrite)[6];
for($i=0; $i<0x200; $i++){
$key *= 0x805;
$key ++;
$key = $key & 0xFF;
$qqwry[$i] = chr( ord($qqwry[$i]) ^ $key );
}
$qqwry = gzuncompress($qqwry);
$fp = fopen("qqwry.dat", "wb");
if($fp){
fwrite($fp, $qqwry);
fclose($fp);
}
?>
重命名后替换ip2c-qqwry.dat即可
附
件
下
载
文件名称:useragent.zip
适用版本:PHP
更新日期:2022-04-30
文件大小:5.79 M
提示:遇问题或链接失效请联系站长,本站欢迎捐赠!
Use this card to join us and participate in a pleasant discussion together .
Welcome to JISHUSONGSHU Group,wish you a nice day .