网站搭建|Typecho博客Joe主题获取IP归属地

Bruce
2024-02-24 / 3 评论 / 70 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2024年02月24日,已超过86天没有更新,若内容或图片失效,请留言反馈。
AI摘要:本文介绍了在Typecho博客中使用Joe主题显示IP归属地的设置方法。首先,在Joe主题的core文件夹中上传了一个将IP转换为归属地的php文件。然后,在function.php文件中引入了该文件,并在获取浏览器名称的代码后打印了归属地。最后,在comment.php文件中将归属地和系统名称、浏览器名称拼接在一起显示。文章还提到了该方法的一些缺陷,如仅支持IPV4地址且需要定时更新纯真本地数据库。另外,文章还推荐了一个更完善样式的IP归属地显示插件供读者探索。

浏览博友 故渊渡 的博客时,发现每条留言都显示了IP归属地,请教博主后分享了他的设置方法, 个人设置过程如下:

设备配置参考:Typecho V1.2.1,Joe 7.7.1

  1. 在Joe主题文件的core文件夹中上传“将IP转换为归属地的php文件”ipdata.class.php;
  2. 在core文件夹的function.php文件中引入ipdata.class.php,然后在获取浏览器名称的代码后打印归属地;
  3. 在public文件夹的comment.php文件中,将打印的归属地和系统名称、浏览器名称拼接到一起;


下载下方文件后,上传至Joe主题文件的core文件夹中,core文件夹路径参考:/www/wwwroot/wanglin.blog/usr/themes/Joe-master/core;


在function.php中引入ipdata.class.php文件

/* 引入ipdata.class.php文件 */
require 'ipdata.class.php';

引入代码

在约120行的位置引入代码,打印归属地

/** 获取评论者归属地信息 */
function convertip($ip){  
echo convertips($ip);
}

打印归属地


在public文件夹的comment.php文件中,添加下面的代码。public文件夹和core文件夹在同一路径。

<?php echo convertip($comments->ip); ?>

前端显示

至此,用户评论的IP归属地显示就完成了。

但是,此方法也有一定的缺陷:仅支持IPV4,不支持IPV6地址;此外,本方法调用了纯真本地数据库,因此需要定时更新,否则会不准确。

原作者苏晓晴也开发了一个另外一个样式的插件,相比较更完善样式也更美观,供感兴趣的博友们探索: IP归属地显示插件
lsyvdjde.png

主要参考文章

[1] 故渊渡博客,Typecho主题开启IP归属地获取,https://blog.heylie.cn/archives/16/
[2] 晓晴博客,Typecho主题开启IP归属地获取,https://www.toubiec.cn/666.html
[3] 晓晴博客,[Typecho插件]IP归属地显示插件,https://www.toubiec.cn/1194.html

1

评论 (3)

取消
  1. 头像
    故渊渡
    Windows 10 · FireFox · 江西省宜春市 电信

    我叫故渊渡,不叫故源

    回复
    1. 头像
      Bruce 作者
      MacOS · Google Chrome · 北京市 电信
      @ 故渊渡

      非常抱歉!已经在第一段和参考来源中将错误的写法均修改为了“故渊渡”,感谢博友的知识分享!

      回复
      1. 头像
        Bruce 作者
        MacOS · Google Chrome · 北京市 电信
        @ Bruce

        顺祝元宵节快乐🎉

        回复