最近各大国内平台都开放了显示用户 IP 定位的功能,我也紧跟时事,造了一个获取评论 IP 定位信息的插件。用的是 ipip.net 的免费 API,已经更换为太平洋。
使用方法很简单,修改主题相关位置,加入下面这一句
<?php $comments->location(); ?>
如果主题没有重写评论代码(@靳闯博客),找到var/Widget/Comments/Archive.php
大概为108行,插入
<?php $this->location(); ?>
如果是想要自定义显示(2023.12.26版本以后支持)
<?php $locationRaw = $this->locationRaw; // 会返回一个数组 ?>
更新说明
更新到"2022.10.04"版本需要打开清除数据开关,禁用插件,然后更新插件,再启用插件
更新日志
2023.12.26 默认隐藏管理员位置
2022.10.04 ipip.net 免费 API 失效,更换为太平洋的API
2022.05.01 修复第一个位置会多出lines (409 sloc) 17.4 KB
,增加禁用插件清理数据的功能
感谢分享
感谢分享,我转载了一波
我是typecho 用的是handsome主题 8.2.1版本,上传启用后出错,提示:PHP 解析错误:语法错误,意外的“?”,第 80 行的 D:\wwwroot\zjwdb48713\wwwroot\bk\usr\plugins\CommentLocation\Plugin.php 中的预期变量 (T_VARIABLE)
你的PHP 版本应该是 5.X 吧
是的这个版本要求要7.X以上吗?
我用其它方式成功了一半,就是2019年12月31日之前的评论全部正常显示,2020年1月1日到今天的评论全部显示为“本机地址”,你知道为什么吗?
请问这个 <?php $comments->location(); ?> 放在哪?我放在index.php 就报错:Call to a member function location() on null
因为这是要放在 commens.php 里
感谢大佬,很好用!
我改完模板才知道有插件
是我疏忽了
还有 这是不是有个缺点 持续写入数据库
评论量大的话 站点会卡死吧
建议加个本地数据库获取的 纯真或者ipip的免费库
这样就会快很多
我用的就是ipip的免费库啊,只有在数据库没有记录的时候才从免费api获取,怎么会持续写入呢
API失效了,无法查询到IP地址,建议使用pconline的
api没失效啊,是不是你的站访问量太大,超出api限制了,这个api有每天查询数量限制
强啊!我现在用的是腾讯位置API !
http://freeapi.ipip.net/ 这个404 了
更新了
api失效了全是未知评论
更新了
该评论仅登录用户及评论双方可见
你好 插件启用成功了 然后 commens.php 里面也加了 <?php $comments->location(); ?> 但是为什么前台还是不显示啊~ 是不是我 <?php $comments->location(); ?> 加入到相关代码的位置不对啊
需要在输出每条评论内容的地方加入,一般没有重写评论代码的主题是没有地方插入的
我的博客评论代码也是没重写,得插到博客程序var/Widget/Comments/Archive.php文件里面大概为108行,使用<?php $this->location(); ?>这样就可以了
感谢提醒,我加到正文了
服务器测评 iuwuo.net
能适配下PHP5.4吗
老版本的也想用
不反向适配了,Typecho最新版都最低7.2起步了
不能用了,输出日志提示[ERROR] SSL certificate problem: unable to get local issuer certificate
感谢分享,我要加上这个功能
谢谢分享
谢谢分享,非常好用的插件
感谢分享
感谢分享,非常实用的插件