当前位置:首页>源码分享>B2源码> B2主题网站添加用户IP归属地

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

本文是《免费(共171篇)》专题的第 155 篇。阅读本文前,建议您先阅读前面的文章:

演示:

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,在合适的地方添加下面代码

<p class="b2-pd">
            <span class="user-info-title">位置:</span>
            <span class="b2-hover">
                <?php echo get_user_ip_address(); ?>
            </span>
        </p>

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

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

结语

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

文章链接:https://sjcnh.cn/2213.html
文章标题:B2主题网站添加用户IP归属地
文章版权:@花醉 所发布的内容,部分为原创文章,转载请注明来源,网络转载文章如有侵权请联系我们!我们将在24小时内极速处理!
本文最后更新发布于2023年11月08日 9时56分55秒,某些文章具有时效性,若有错误或已失效,请在下方留言或联系:841134898@qq.com
本文声明 本站上的部份代码,教程,软件,插件来自会员发布以及互联网收集,不代表本站立场,仅供网友个人学习交流或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!请用户仔细辨认内容的真实性,避免上当受骗!本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请在下载24小时内删除!若您喜欢本文可附上原文链接随意转载。如无意侵害了您的权益,请发送邮件841134898@qq.com 或点击右侧 私信:花醉 反馈,我们将尽快处理。如果遇到付费才可观看的文章,建议升级终身VIP。全站所有资源“任意下免费看”。本站资源少部分采用7z压缩,为防止有人压缩软件不支持7z格式,建议下载7-zip。zip、rar解压,建议下载WinRAR。

给TA赞助
共{{data.count}}人
人已赞助
!
您也想出现在这里吗?点击联系我们吧!
点击投个广告吧
0 条回复A文章作者M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
有新消息 消息中心
快速搜索
在线客服
关注我们
  • 扫码打开当前页

  • 微信公众号

返回顶部