B2主题网站添加用户IP归属地

演示:

B2主题网站添加用户IP归属地

教程:

第一步:

1、下载WP-IPUA插件,打开/wordpress/wp-content/plugins/wp-ipua/helper.php,添加下面的代码

function get_user_ip_address() {
    ob_start();
    $user_id = get_query_var('author'); // 获取用户ID
    // 获取用户的最后登录IP
    $last_login_ips = get_user_meta($user_id, 'last_login_ip', true);
    // 初始化最终的 IP 地址列表
    $final_ips = [];
    // 判断是否包含方括号,如果是则直接提取 IPv6 地址
    if (strpos($last_login_ips, '[') !== false && strpos($last_login_ips, ']') !== false) {
        preg_match('/\[(.*?)\]/', $last_login_ips, $matches);
        $final_ips[] = $matches[1];
    } else {
        // 按逗号分割 IP 地址
        $ips = explode(',', $last_login_ips);
        $first_ip = trim($ips[0]);
        // 判断是否为 IPv6 地址,如果是则直接取该 IPv6 地址
        if (strpos($first_ip, ':') !== false && filter_var($first_ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
            $final_ips[] = $first_ip;
        } elseif (strpos($last_login_ips, ',') !== false) {
            // 如果值中包含逗号,而第一个 IP 不是 IPv6 地址,提取逗号分隔的第一个 IPv4 地址
            foreach ($ips as $ip) {
                if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {
                    $final_ips[] = $ip;
                    break;
                }
            }
        } elseif (strpos($first_ip, ':') !== false) {
            // 没有逗号,但第一个 IP 包含冒号(可能是带端口的 IPv4 地址)
            $final_ips[] = strstr($first_ip, ':', true) ?: $first_ip;
        }
    }
    // 获取第一个IP地址
    $first_ip = trim($final_ips[0]);
    // 判断是否有IP地址
    if (!empty($first_ip)) {
        // 创建一个 IP 对象
        $ips_instance = new IP($first_ip);
        // 获取 IP 归属地信息
        $ip_info = $ips_instance->get_ip_info();
        // 判断是否成功获取归属地信息
        if (!empty($ip_info)) {
            // 构建归属地字符串,根据您的需求选择合适的格式
            $location_string = $ip_info['nation'] . ' ' . $ip_info['province'] . ' ' . $ip_info['city'];
            echo $location_string;
        } else {
            echo 'IP未知';
        }
    } else {
        echo '用户最近未登录过';
    }
    return ob_get_clean();
}

第二步:

2、打开/wordpress/wp-content/themes/b2/User/index.php,在合适的地方添加下面代码

并在第三行添加use function HaoZiTeam\IPUA\get_user_ip_address;

3、保存文件,并修改插件相关设置即可

结语

此插件支持腾讯在线获取和纯真IP库离线获取
支持UA
支持IPv6
我比较推荐

温馨提示:本站提供的一切软件、教程和内容信息都来自网络收集整理,仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,版权争议与本站无关。用户必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解! 联系邮箱:lgg.sinyi@qq.com

给TA打赏
共{{data.count}}人
人已打赏
分享B2主题美化包、B2 pro主题美化包、B2子主题

子比主题修改粉色果冻泡泡loading加载动画

2025-9-27 13:11:06

分享B2主题美化包、B2 pro主题美化包、B2子主题

B2主题添加右下角会员活动弹窗

2025-9-27 13:15:12

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索