wordpress评论插件_WordPress显示评论者IP、归属地及运营商信息解决方法

更新时间:2019-12-28    来源:WordPress    手机版     字体:

【www.bbyears.com--WordPress】

①、在线API

在线查询IP信息的API有很多,比如淘宝、百度和新浪都有IP信息查询的API接口,地址如下:

    百度:http://apistore.baidu.com/microservice/iplookup?ip=114.114.114.114

    淘宝:http://ip.taobao.com/service/getIpInfo.php?ip=114.114.114.114

    新浪:http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip=114.114.114.114

请求方式都是GET,返回都是json格式。

如何将这个东东应用到WordPress评论列表呢?很简单,挑一个用得比较多的淘宝作为范例吧!喜欢其他的自行参考修改即可。

②、PHP代码

/**
* WordPress 显示评论者IP归属地PHP函数
**/
function get_locate($ip) {
    if(empty($ip)) $ip = get_comment_author_IP();
    $ch = curl_init();  
    $timeout = 5;  
    curl_setopt ($ch, CURLOPT_URL, 'http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);  
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);  
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);  
    $file_contents = curl_exec($ch);  
    curl_close($ch);  
    $result = json_decode($file_contents,true);
    if ($result['data']['country'] != '中国') {
        return $result['data']['country'];
    } else {
        return $result['data']['country'].' ・ '.$result['data']['region'].' ・ '.$result['data']['city'].' ・ '.$result['data']['isp'];
    }
}
/**
* WordPress 显示评论者IP归属地PHP函数
**/
function get_locate($ip) {
    if(empty($ip)) $ip = get_comment_author_IP();
    $ch = curl_init();  
    $timeout = 5;  
    curl_setopt ($ch, CURLOPT_URL, 'http://ip.taobao.com/service/getIpInfo.php?ip='.$ip);  
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);  
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);  
    $file_contents = curl_exec($ch);  
    curl_close($ch);  
    $result = json_decode($file_contents,true);
    if ($result['data']['country'] != '中国') {
        return $result['data']['country'];
    } else {
        return $result['data']['country'].' ・ '.$result['data']['region'].' ・ '.$result['data']['city'].' ・ '.$result['data']['isp'];
    }
}


将上述代码添加到WordPress主题函数模板文件 functions.php 中并保存。

然后,在 WordPress 评论模板函数中合适的位置插入如下代码即可:





Ps:大部分国内主题都会自定义一个评论模板函数,要找到这个函数很简单,先打开主题下的评论模板文件comments.php文件,找到如下类似代码:





如上代码中的callback值则是主题自定义的评论模板回调函数,即 mytheme_comment。

接着,只要在主题下全局搜索 mytheme_comment 这个关键词就能找到对应的函数啦!至于添加到哪就自己把握了,每个主题都不一样,我就不赘述了。

这个在线查询评论者归属地的效果忘记截图了,我定义的是是 [中国 ・ 广东 ・ 深圳 ・ 电信] 这种形式,喜欢的可以部署看看。




本文来源:http://www.bbyears.com/wangyezhizuo/84018.html