AI摘要:本教程为用户添加评论区IP属地显示功能。首先,用户需要注册一个腾讯位置服务账号,然后创建一个应用并获取应用的Key。之后,用户可以将腾讯LBS IP定位服务的代码添加到Cuteen主题的Function.php文件中,以实现通过IP获取位置信息的功能。最后,在评论区相关的代码中添加获取IP属地的代码即可。通过这个教程,用户可以在Cuteen主题的评论区中显示评论者的IP属地。
一、注册腾讯位置服务
打开 腾讯位置服务 ,注册一个账号
二、创建应用
打开控制台,点击左侧边栏中的应用管理,然后点击创建应用,输入应用名称和应用类型。
三、添加key
一个应用可以添加多个Key,一个Key每日可调用10000次,每秒并发5次。
选择WebService API,选择授权ip,再填入服务器ip,保存后就能拿到一个key,然后对接Cuteen评论区的ip属地。
四、添加主题调用方法
为了个人隐私,以下代码已去除城市和区县信息,仅显示国家和省。
将以下核心代码添加至 Cuteen/core/Function.php 的末尾。
/* 腾讯LBS IP定位服务 */
function curl_tencentlbs_ip($ip) {
//应用Key也就是上面的Key,修改成自己的Key即可
$key = 'XXX-XXX';
$url = 'https://apis.map.qq.com/ws/location/v1/ip?ip='.$ip.'&key='.$key;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HTTPGET, true);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36');
$content = curl_exec($ch);
curl_close($ch);
if($content) {
$json = json_decode($content,true);
if($json['status'] == 0 ) {
$resjson = $json['result']['ad_info'];
if($resjson['province']=='北京市'||$resjson['province']=='天津市'||$resjson['province']=='上海市'||$resjson['province']=='重庆市') {
return $resjson['nation'].$resjson['city'];
}
return $resjson['nation'].$resjson['province'];
}
}
return '';
}
五、修改主题评论相关代码
在 Cuteen/include/comment.php Line21
新开一行,添加以下代码
IP属地:<?php echo curl_tencentlbs_ip($comments->ip); ?>
教程结束。
陌生人 IP属地:湖北省
没有效果