之前说了如何获取真实IP,以及将IP转换成归属地,接下来说说这个功能在WordPress博客中的应用。
1.WordPress评论列表中显示评论者IP所在地
效果
实现方法
在主题目录下的functions.php中,找到评论列表,大概搜get_comment_author_link()
即可,在合适的位置加上下面的代码:
<?php if ( is_user_logged_in() ) echo convertip(get_comment_author_ip()); //回复者所在地及网络 ?>
这里以及下面的两个应用都用到了《WordPress获取真实IP,以及将IP转换成归属地》这篇文章中创建的convertip函数,如果用的是其他的IP地址转换函数,修改一下代码中的函数名称即可。如果没有转换IP的函数,请先加入,方法见上文。
为了保护评论者的隐私,这里只有管理员登录之后才能看到评论者的IP信息。
2.WordPress后台评论列表中显示评论者IP所在地
效果
实现方法
在WordPress的wp-admin/includes/class-wp-comments-list-table.php中,找到
comment_author_IP(); echo '</a> ';
在下面增加一句:
echo convertip(get_comment_author_ip());
即可~
3.WordPress修改评论审核通知邮件,显示评论者IP所在地
效果
实现方法
在WordPress的wp-includes/pluggable.php中,查找
Author : %1$s (IP: %2$s , %3$s)
在这行代码的下面加一行代码:
$notify_message .= sprintf( __('IP所在地: %s'), convertip($comment->comment_author_IP) ) . "\r\n";
一共有两处,保存即可。
另外WordPress自带的Whois查询网址whois.arin.net可能打开比较慢,你可以修改成国内的(也可以用我的ip.gimhoy.com(国外服务器)或者ip.gimhoy.cn(国内服务器),格式见图),修改的地方就在上面那行代码的下面几行。
2.WordPress后台评论列表中显示评论者IP所在地
这个能不能不该wordpress程序文件?
暂时没有办法。。
额- -找到原因就是添加2和3以后。就会 评论以后 页面无法显示。而且不发送邮件。但是后台有待审核记录。
这个屌
前面那个挺多人用的。。后面俩是我辛辛苦苦找出来修改的。。。 💡
博主自己搞了一个IP库吗?
直接用的纯真IP库,用了一个函数转换一下