WordPress使用淘宝IP地址库的API显示评论者的位置信息

WordPress使用淘宝IP地址库的API显示评论者的位置信息

Jonty
2013-08-31 / 4 评论 / 89 阅读 / 正在检测是否收录...

1 跟风API

最近各种云平台很是火爆,博主也跟了一把风。之前博客主题的评论列表信息栏处,调用的是新浪IP地址查询接口。新浪的这个IP接口早在2009年就开放了,不过貌似查询的结果准确性不是很高,不像纯真的IP库更新得那么及时。所以,vfhky寻思换个其它的IP查询接口提高博客的评论信息准确度。

2 选择淘宝IP地址库

网上查看了下资料,提供IP查询接口的有这么几个:腾讯、搜狐、淘宝和有道。不过,腾讯已经把接口(http://fw.qq.com/ipaddress)封掉了,只限企鹅自家使用。题外话:对于腾讯的做法咱们习惯就好,早已无力吐槽了。相对于搜狐和有道的IP接口,淘宝肯定具有优势。谁都不能低估淘宝帝国对于掌握用户信息深度的强烈渴望和决心,而IP地址就是用户的足迹线所在。在查看了淘宝IP地址库的API官方资料(地址【http://ip.taobao.com/accurancy.php】),vfhky毅然决定把新浪的IP查询接口改成淘宝的IP查询接口。

3 需要考虑的问题

博客主题评论列表的IP信息是通过Jquery加载的,而淘宝提供的API接口返回的数据是Json格式。相对于直接通过PHP获取Json数据而言,这种Ajax交互方式比较难一点。博主就先卖个关子,具体的实现代码将在下一篇文章贴出。这里贴出之前用新浪IP地址查询接口获取IP信息的代码,评论列表的IP信息同样是通过Jquery加载处理后的新浪IP查询接口返回的JS数据。

4.1 修改functions.php文件

找到评论信息显示列表的那个文件(博主的是functions.php),在相应的位置加上如下代码。其作用是在jQuery获取IP信息之前,显示“正在查询……”的字样。代码中的waiting.gif是上面的省略号动态图片,这个看个人喜好来决定需不需要用;$ip代表从数据查询出来的评论者的IP数据。

<span class="vfhkyipquery" data-ip="' . $ip . '">正在查询<img src="' . get_bloginfo('template_url') . '/images/waiting.gif" alt="..." style="vertical-align:baseline;" /></span>

4.2 修改JS文件

在主题的一个js文件中添加以下代码,注意该js文件一定要是会在文章页面加载的哦!最终的效果会类似于:中国广东深圳 电信。

jQuery(document).ready(function($){
    function vfhkyipquery(){
        $(".vfhkyipquery").each(function(){
            var c=$.trim($(this).attr("data-ip")),t=$(this),i="";
            $.getScript("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&amp;ip="+c,function(){
                if(remote_ip_info.ret==1){
                    var h=remote_ip_info.country,f=remote_ip_info.province,e=remote_ip_info.city,g=" "+remote_ip_info.isp;
                    i+=h;
                    i+=f==e?e:f+e;
                    i+=g;
                }
                else{
                    i="未知IP地址";
                }
                t.replaceWith(''+i+"");
            })
        })
    }
    $(function(){vfhkyipquery()})
});
本文共 599 个字数,平均阅读时长 ≈ 2分钟
0

打赏

海报

正在生成.....

评论 (4)

取消
  1. 头像
    Soar、毅 Lv.3
    中国河北省 ·Windows 7 · Google Chrome
    沙发

    LZ 是jsonp吧?。。。

    回复 删除 垃圾
    1. 头像
      gkroot Lv.6
      中国山东省 ·iPhone · Google Chrome
      @ Soar、毅

      是。。。。

      回复 删除 垃圾
      1. 头像
        Soar、毅 Lv.3
        中国河北省 ·Windows 7 · Google Chrome
        @ gkroot

        @gkroot 我跟你保证,以后再也不剧透了。。

        回复 删除 垃圾
  2. 头像
    gkroot Lv.6
    中国河南省 ·Windows XP · Google Chrome
    板凳

    @Soar、毅 ==这有毛

    回复 删除 垃圾