loader
Loading···

WP-IPUA插件,为你的WordPress网站添加用户IP归属地

演示

WP-IPUA插件,为你的WordPress网站添加用户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、保存文件,并修改插件相关设置即可

结语

  1. 此插件支持腾讯在线获取和纯真IP库离线获取
  2. 支持UA
  3. 支持IPv6

我比较推荐

给TA买糖
共{{data.count}}人
人已买糖
3 条回复 UP文章作者
  • 小黄脸
  • AC娘
  • 米游姬
  • 蔚蓝档案
  1. 拉米娅_Official

    WP-IPUA插件后台搜索下载即可,文中的注释你可以看,但是你不能全信我的注释 :f0:

    • rubi

      注释里撒谎是吧,好一个屎里掺毒 :f1:

  2. 肆柒玖

    :g6: