给 WordPress 评论加上 IP 归属地和浏览器信息

评论区想显示访客的 IP 归属地、运营商和浏览器信息,靠的是 show-useragent 这个查询包加主题模板的小改动。步骤不复杂,但每步都别做错。

放置文件

下载文件压缩包,上传到 wp-content/themes/ 下当前主题目录里解压,再把 show-useragent 文件夹复制一份到网站根目录。

functions.php 加两行

在主题目录的 functions.php 里 include 两个文件,分别负责访客信息和 IP 归属地查询:

图片[1]-主题评论显示ip地址教程-本站
include("show-useragent/show-useragent.php");
// 显示访客信息
include("show-useragent/ip2c-text.php");
// IP归属地和运营商查询功能

改造评论列表模板

打开 inc/functions/zib-comments-list.php,第 51 行原本是:

return '<;name class="flex ac flex1">

替换成下面的内容,把查询到的 IP 归属地拼进昵称后面的小徽章里:

图片[2]-主题评论显示ip地址教程-本站
$ip = convertip(get_comment_author_ip());    
return '<name class="flex ac flex1">' . $user_name . $badge .'<span class="badg badge badg-sm flex0 ml3">'.$ip.'</span>'.'</name>';

接着不要退出文件,搜索 $time_html,在第一个“//时间”注释下面直接替换:

图片[3]-主题评论显示ip地址教程-本站
$diqu =  CID_get_comment_browser();
$diqu .= CID_print_comment_flag();
$time_html = '<span class="comt-author"' . ($is_mobile ? ' data-toggle="tooltip"' : '') . ' title="' . date('Y年m月d日 H:i:s', strtotime($comment->comment_date)) . '">' . zib_get_time_ago($comment->comment_date) . '</span>'.'<span class="comt-author" title="">'.$diqu.'</span>';

效果与注意

图片[4]-主题评论显示ip地址教程-本站

浏览器和国旗信息会拼在评论时间旁边。两个容易踩的点:模板文件改动在主题升级后会被覆盖,记得留一份修改底稿,或把改动挪到升级不会覆盖的自定义代码入口;IP 查询库走的是本地纯真类数据,归属地精度以库更新为准,换 IP 段之后显示旧归属地属于正常现象。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容