zibll子比主题评论和用户主页显示IP归属地功能[本地纯真数据库配置教程]

教程开始

1 配置IPQuery.class.php、qqwry.dat文件

文件地址 https://qdqd.lanzouq.com/iK2a714viugb

把压缩包解压到/wp-content/themes/zibll/inc/functions/目录里面,就可以开始操作了

2 配置functions.php

大家找到/wp-content/themes/zibll/inc/functions/funcitons.php这个文件

zib_get_geographical_position_by_ip

 

大概 是 2509行 到 2577行 里面的内容

这个函数,把里面的内容替换为

function zib_get_geographical_position_by_ip($ip)
{
if (!$ip || strstr($ip, '0.0.0.') || strstr($ip, '192.168.') || strstr($ip, '127.0.')) {
return false;
}


$sdk = _pz('ip_addr_sdk');


if ($sdk === 'qq') {
$ip_addr_sdk = _pz('ip_addr_sdk_qq');
if (!empty($ip_addr_sdk['appkey'])) {
return zib_get_geographical_position_by_qq($ip, $ip_addr_sdk['appkey'], $ip_addr_sdk['secretkey']);
}
}


if ($sdk === 'cz') {
$ip_addr_sdk = _pz('ip_addr_sdk_cz');
return zib_get_geographical_position_by_cz($ip);
}


if ($sdk === 'amap') {
$ip_addr_sdk = _pz('ip_addr_sdk_amap');
if (!empty($ip_addr_sdk['appkey'])) {
return zib_get_geographical_position_by_amap($ip, $ip_addr_sdk['appkey'], $ip_addr_sdk['secretkey']);
}
}


if ($sdk === 'polling') {
$qq_data = array();
$amap_data = array();
$data = array();


//通过qq查询
$ip_addr_sdk = _pz('ip_addr_sdk_qq');
if (!empty($ip_addr_sdk['appkey'])) {
$qq_data = zib_get_geographical_position_by_qq($ip, $ip_addr_sdk['appkey'], $ip_addr_sdk['secretkey']);
if (!empty($qq_data['province'])) {
return $qq_data;
}
}


//通过高德查询
$ip_addr_sdk = _pz('ip_addr_sdk_amap');
if (!empty($ip_addr_sdk['appkey'])) {
$amap_data = zib_get_geographical_position_by_amap($ip, $ip_addr_sdk['appkey'], $ip_addr_sdk['secretkey']);
if (!empty($amap_data['province'])) {
return $amap_data;
}
}


//通过本地纯真数据库查询
if ($sdk === 'cz') {
$ip_addr_sdk = _pz('ip_addr_sdk_cz');
return zib_get_geographical_position_by_cz($ip);
}


//太平洋公共接口
$data = zib_get_geographical_position_by_pconline($ip);
if (!empty($data['province'])) {
return $data;
}


//都没有身份,则进行对比国家
if (!empty($qq_data['nation'])) {
return $qq_data;
}


if (!empty($amap_data['nation'])) {
return $amap_data;
}


if (!empty($data['nation'])) {
return $data;
}


return false;
}


return zib_get_geographical_position_by_pconline($ip);
}

 

 

3 配置zib-tool.php

大家找到/wp-content/themes/zibll/inc/functions/zib-tool.php这个文件

拉到最下面,粘贴这个函数

function zib_get_geographical_position_by_cz($ip, $debug = false)
{


//通过本地纯真数据库来获取 By:UQ QQ:3096069542
require_once('IPQuery.class.php');
$ipcx = new IPQuery();
$addr = $ipcx->query($ip);
$response=array('Country'=>$addr['pos']);


$data = array(
'ip' => $ip,
'nation' => !empty($addr['pos']) ? $addr['pos'] : '',
'province' => !empty($addr['pos']) ? $addr['pos'] : '',
'city' => !empty($addr['pos']) ? $addr['pos'] : '',
'sdk' => 'pconline',
);


return $data;
}

 

4 配置action.php

大家找到/wp-content/themes/zibll/inc/options/action.php这个文件

大概是在第 699行 粘贴下面代码

case 'cz':
$ip_addr_sdk = _pz('ip_addr_sdk_amap');


$test = zib_get_geographical_position_by_cz($ip, true);


if (!$test) {
echo (json_encode(array('error' => 1, 'msg' => '网络数据获取失败,请确保服务器网络畅通')));
exit;
}


if (!isset($test['nation'])) {
$test['ip'] = $ip;
echo (json_encode(array('error' => 1, 'msg' => '本地纯真数据库接口请求失败,错误信息:<br>' . json_encode($test, JSON_UNESCAPED_UNICODE))));
exit;
}


echo (json_encode(array('error' => 0, 'msg' => '本地纯真数据库接口请求成功<br>' . json_encode($test, JSON_UNESCAPED_UNICODE))));
exit;
break;

 

 

5 配置admin-options.php

大家找到/wp-content/themes/zibll/inc/options/admin-options.php这个文件

大概是在 9622 到 9633行 的 内容,替换为下面代码

array(
'id' => 'ip_addr_sdk',
'default' => 'null',
'title' => 'IP归属地接口选择',
'type' => "radio",
'inline' => true,
'options' => array(
'polling' => __('轮流查询', 'zib_language'),
'qq' => __('腾讯位置服务', 'zib_language'),
'amap' => __('高德位置服务', 'zib_language'),
'cz' => __('本地纯真数据库接口(无需配置)', 'zib_language'),
'null' => __('太平洋网络公共接口(无需配置)', 'zib_language'),
),

 

大概是在 9686 到 9697行 的 内容,替换为下面代码

array(
'content' => '<div><b>填写配置并保存主题配置后可在此测试接口</b></div>
<ajaxform class="ajax-form" ajax-url="' . admin_url('admin-ajax.php') . '">
<div class="flex ac hh">
<select class="mt6 mr10" ajax-name="sdk"><option value="">太平洋网络公共接口</option><option value="cz">本地纯真数据库</option><option value="qq">腾讯位置服务</option><option value="amap">高德位置服务</option></select>
<input class="mt6 mr10" type="text" style="max-width:300px;" ajax-name="ip" placeholder="输入一个IP地址或留空"><a href="javascript:;" class="but jb-yellow ajax-submit mt6"><i class="fa fa-paper-plane-o"></i> 测试一下</a></div>
<div class="mt10 ajax-notice"></div>
<input type="hidden" ajax-name="action" value="test_ip_addr_sdk">
</ajaxform>',
'style' => 'warning',
'type' => 'submessage',
),

 

 

使用教程

如果,你已经完成上面的操作后,就可以使用了,方法是到你的子比主题设置,到->扩展&增强/ip归属地,就可以看到有一个

  • 一定要完成上面的操作,并且把支持库和qqwry.dat 文件复制好!
  • 如有什么问题,请在评论区指出

效果展示

zibll子比主题评论和用户主页显示IP归属地功能[本地纯真数据库配置教程]-牛魔博客

------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
文章不错?点个赞呗
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容