在wordpress评论列表/后台评论列表/评论通知邮件中显示评论者IP所在地

1.WordPress评论列表中显示评论者IP所在地

效果:

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后台评论列表中显示评论者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修改评论审核通知邮件,显示评论者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(国内服务器),格式见图),修改的地方就在上面那行代码的下面几行。

原文来自http://blog.gimhoy.com/archives/wordpress-convert-ip-into-location.html