首页›网站源码›正文
子比主题评论和用户主页显示IP归属地[本地纯真数据库配置教程]

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

暂无可下载资源资源正在补充中,敬请期待
💡 温馨提示:建议使用电脑端下载,大文件下载可能需要较长时间,请耐心等待,下载完成后请校验文件完整性。

服务保障

纯净无捆绑

精简优化,纯净系统

安全可靠

多重检测,放心使用

持续更新

长期维护,持续优化

专业制作

系统玩家,品质保证

免费使用

完全免费,长期更新

已通过安全检测无病毒 / 无木马 / 无广告100%纯净资源支持在线校验文件完整性
⚙ 文件校验 MD5 / SHA1 / SHA256
🤖 AI 智能摘要
此内容由 AI 根据文章内容自动生成,并已由人工审核
正在打开 AI 智能摘要...

下载完成了吗?

请问该资源下载顺利吗?使用起来感觉如何?
✓
感谢你的反馈!
我们会持续优化资源质量,为你提供更好的下载体验。

服务协议

文章介绍
发表评论
更新日志
历史版本

我个人不是很喜欢使用太平洋接口,恰好我会一点点php,就随随便便搞了个本地纯真数据库接口,IPQuery.class.php,qqwry.dat我会放到蓝奏网盘里

教程开始

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

文件地址 https://ymkuz.lanzouy.com/ihvFV152jecj

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

2 配置functions.php

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

大概 是 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)
{

    //通过本地纯真数据库来获取
    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 文件复制好!
  • 如有什么问题,请在评论区指出

效果展示图片[1]-子比主题评论和用户主页显示IP归属地[本地纯真数据库配置教程]-源码库

THE END
© 版权声明
点赞2162 分享
暂无内容
暂无更新日志
暂无内容
暂无历史版本

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

我个人不是很喜欢使用太平洋接口,恰好我会一点点php,就随随便便搞了个本地纯真数据库接口,IPQuery.class.php,qqwry.dat我会放到蓝奏网盘里

教程开始

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

文件地址 https://ymkuz.lanzouy.com/ihvFV152jecj

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

2 配置functions.php

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

大概 是 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)
{

    //通过本地纯真数据库来获取
    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 文件复制好!
  • 如有什么问题,请在评论区指出

效果展示图片[1]-子比主题评论和用户主页显示IP归属地[本地纯真数据库配置教程]-源码库

© 版权声明
THE END
点赞2162 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容