WordPress显示评论者IP归属地及运营商信息解决方案
发布时间:2022-06-24 03:27:47 所属栏目:教程 来源:互联网
导读:本文我们分享一个 WordPress 利用在张API显示 评论者IP、归属地及运营商信息的功能实现代码,api有很多,本文以淘宝的举例。 ①、在线API 在线查询IP信息的API有很多,比如淘宝,百度和新浪都有IP信息查询的API接口,地址如下: 百度:http://apistore.baidu.com/
本文我们分享一个 WordPress 利用在张API显示 评论者IP、归属地及运营商信息的功能实现代码,api有很多,本文以淘宝的举例。 ①、在线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(emptyempty($ip)) $ip = get_comment_author_IP(); $ch = curl_init(); $timeout = 5; <a href="/tags.php/curl_setopt/" target="_blank">curl_setopt</a> ($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(emptyempty($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 { //phpfensi.com return $result['data']['country'].' · '.$result['data']['region'].' · '.$result['data']['city'].' · '.$result['data']['isp']; } } 将上述代码添加到WordPress主题函数模板文件 functions.php 中并保存,然后,在 WordPress 评论模板函数中合适的位置插入如下代码即可: <?php get_locate(get_comment_author_ip());?> <?php get_locate(get_comment_author_ip());?> Ps:大部分国内主题都会自定义一个评论模板函数,要找到这个函数很简单,先打开主题下的评论模板文件comments.php文件,找到如下类似代码: <?php wp_list_comments( 'type=comment&callback=mytheme_comment' ); ?> <?php wp_list_comments( 'type=comment&callback=mytheme_comment' ); ?> 如上代码中的callback值则是主题自定义的评论模板回调函数,即 mytheme_comment. 接着,只要在主题下全局搜索 mytheme_comment 这个关键词就能找到对应的函数啦,至于添加到哪就自己把握了,每个主题都不一样,我就不赘述了. 这个在线查询评论者归属地的效果忘记截图了,我定义的是是 [中国 · 广东 · 深圳 · 电信] 这种形式,喜欢的可以部署看看. (编辑:广西网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐