WordPress显示访客UA信息:Show UserAgent纯代码轻度汉化版

前几天在修复留言日期显示错误的问题时,突然觉得可以在这个位置集成一下访客信息,因为见到过不少博客的留言板都有了类似的功能。经过搜索、测试并筛选,最终选定了Show UserAgent这款插件。在本地测试了一下,感觉还不错!

一、强迫症

在我熟悉了WordPress插件机制后,我总是强迫症的想将插件修改为代码集成。实际上插件和代码的差别只在于代码不需要用到一些钩子动作(hook action)和选项数据(option data)。很多人说插件用多了会拖慢速度,没错是有这么回事,但是如果你把同样数量的插件修改成纯代码集成,我想速度也不会快多少!你以为增加的功能是吃白饭的哦?多一个功能就多会一份消耗!

那修改为代码版是为了提升性能嘛?其实也不尽然,我这种强迫症会这样想:看到后台已安装插件黑压压的,就会抓耳挠腮,想尽办法能删一个是一个。所以,我拿到这个插件并测试无误后,第一件时间就是将其修改为代码版,以满足强迫症的心理需求。

二、折腾狂

经过几番折腾,目前已趋近完善:

①、合并php代码并去掉了插件所需的冗余代码,如hook、action等;

②、轻度汉化了一些信息显示(浏览器名称,部分国籍等),插件是纯英文的;

③、创意性添加诙谐翻译(原创诙谐翻译,请勿盗版哟~哈哈):

WordPress显示访客UA信息:Show UserAgent纯代码轻度汉化版 WordPress显示访客UA信息:Show UserAgent纯代码轻度汉化版 WordPress显示访客UA信息:Show UserAgent纯代码轻度汉化版

④、其他不为人知的折腾细节。

三、自己撸

下面分享部署方法,自己撸去吧:

①、下载我整理好的代码包:

②、解压后将得到的show-useragent文件夹一并上传到正在用的WordPress主题目录;

③、编辑WordPress主题目录下的functions.php,在第一个<?php之后或最后一个 ?>之前添加引用语句:

④、下面这一步有点麻烦,请仔细看;

A. 编辑WordPress主题目录下的comments.php文件,搜索wp_list_comments:

比如,知更鸟HotNewspro的comments.php文件会搜到下面这一串代码

如果你发现代码中有一个 callback=xxxxx 回调函数,那么说明你的主题已自定义了评论列表的样式,那么请自行查找callback后面接的函数名(一般会在主题目录下的functions.php里面),然后在适当的位置插入如下代码:

比如张戈博客,就是将以上代码添加到了评论者名称的后面,所以我只要在mytheme_comment函数里面找到评论者评论代码:

然后在后面添加UA显示代码,添加后如下所示:

B. 如果主题没有自定义评论样式,那就得对WP动刀子了,这种情况比较少,本文就不赘述了。

顺便说一下,评论列表这个函数(wp_list_comments)位于wp-includes/comment-template.php,主题没有自定义评论列表的话,自己去看着文件,慢慢折腾吧!

个人建议,如果主题没有自定义评论主题列表,还是自行定义一个比较好,网上教程也挺多,搜索mytheme_comment应该就能找到一大把,自己去折腾吧!

四、补刀手

萝卜白菜,各有所爱!每个人都有自己不同的口味,所以简单说一下拿到代码后如何继续自定义修改。

其实,被我合并代码之后,能修改的基本都一目了然,会中文并能认识简单的一些英文,什么Windows,MAC OS啥的。那你就可以自定转换为你想要的中文显示。

基本上,能修改的内容都在合并后的文件里面:show-useragent.php

比如,我把插件定义的China临时修改为【来自天朝的朋友】,我只需要找到合理的位置,插入如下代码:

当然了,既然你要继续折腾,那你也总得有点基础,别瞎改代码,回头变白板了就来我这投诉我给的东西不能用啥的!喜欢折腾,不会代码,还不爱搜索的人,还是安心写文章吧,别整这些“没用的”!

五、新补充

IP库更新的方法:http://www.speedfly.cn/9488.html

最新IP库下载:http://zhangge.net/wp-content/themes/HotNewspro/show-useragent/ip2c/ip-to-country.bin

下载后替换插件下同名文件即可。

文件下载

博客小广告:网络加速服务推荐(点击图片查看)

网络加速

发表评论

gravatar

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:

刷新评论

目前评论:39   其中:访客  33   博主  6

  1. 七支剑 4 来自天朝的朋友 火狐浏览器 Windows 7 江苏省苏州市 电信

    终于等到了 国际惯例先留后看

  2. 心音乐 1 来自天朝的朋友 谷歌浏览器 Windows 7 江苏省南京市 移动

    要是能放到多说里就好了,虽然有人弄出来相似的代码,但是样式实在太丑了。

    • 同盟源 5 来自天朝的朋友 谷歌浏览器 Windows 7 安徽省芜湖市 电信

      去看看我的,我就是多说

  3. jayroof 2 来自天朝的朋友 谷歌浏览器 Windows XP 江苏省无锡市 铁通

    已成功使用,谢谢。

  4. 易淘金 3 来自天朝的朋友 谷歌浏览器 Windows 7 河南省开封市 联通

    谢谢分享····················

  5. 同盟源 5 来自天朝的朋友 谷歌浏览器 Windows 7 安徽省芜湖市 电信

    早就改了 :arrow:

    • 张戈 [博主] 来自天朝的朋友 Safari浏览器  Android 4.4.2 NX40X Build/KOT49H 广东省深圳市宝安区 电信

      :evil: 好像很厉害似的,你是改的这个?还早就改了。。。

    • 同盟源 5 来自天朝的朋友 谷歌浏览器 Windows 7 安徽省芜湖市 电信

      我把多说js本地化了,JS里面改的,CSS也本地化了,现在不用担心多说服务器抽风了

      • 张戈 [博主] 来自天朝的朋友 谷歌浏览器 Windows 7 广东省深圳市宝安区 电信

        多说服务器要是真抽风,本地化也没用的,毕竟数据在人家服务器,服务器抽风,数据跟着受影响。

  6. 灰常记忆 4 来自天朝的朋友 火狐浏览器 Windows XP 陕西省西安市 电信

    太有强迫症了 来自天朝的朋友

  7. 小武 6 来自天朝的朋友 谷歌浏览器 Windows 8.1 辽宁省大连市 电信

    为【来自天朝的朋友】点32个赞. .实在是太有创意了. . :wink:

  8. 梦想网络 5 来自天朝的朋友 火狐浏览器 Windows 8.1 四川省攀枝花市 电信

    我直接全部写在function里了。方法和你不一样。

    • 张戈 [博主] 来自天朝的朋友 谷歌浏览器 Windows 8.1 广东省深圳市 电信

      兄弟,写到functions和include是一样的道理,而且推荐把自定义功能分离到其他文件,然后include,便于升级主题啥的。

  9. 大锅先森 1 来自天朝的朋友 谷歌浏览器 Windows 8.1 山东省枣庄市 联通

    这插件,太臃肿了,对国内来说有很多没用的系统和浏览器。博主最好删除了添加本土的几个浏览器

    • 张戈 [博主] 来自天朝的朋友 谷歌浏览器 Windows 7 广东省深圳市 电信

      本土的好像都已经集成了,其他不常用的确实可以清理下,省去不必要的判断。

      • 大锅先森 1 来自天朝的朋友 谷歌浏览器 Windows 8.1 山东省枣庄市 联通

        ie11、360极速没有,还有淘宝、猎豹、百度、qq这些垃圾浏览器要不要加了呢

        • 张戈 [博主] 来自天朝的朋友 谷歌浏览器 Windows 8.1 广东省深圳市 电信

          :???: 有时间再说吧。

  10. 瑾瑜 4 来自天朝的朋友 谷歌浏览器  XT910 Build/6.7.2_GC-404) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.93 Mobile Safari/537.36 安徽省合肥市 中国科学技术大学

    哈哈,诙谐翻译不错。张哥分享东西,总会有自己的一些改进。

  11. 大肥羊 4 来自天朝的朋友 火狐浏览器 Windows 7 广东省揭阳市 电信

    貌似没有更新插件带的 IP 库,有些新 IP 会显示不出来。

    • 七支剑 4 来自天朝的朋友 谷歌浏览器 Windows 7 江苏省苏州市 联通

      这里是更新方法
      http://www.speedfly.cn/9488.html

  12. 幻杀博客 5 来自天朝的朋友 火狐浏览器 Windows 10 山东省潍坊市青州市 联通

    你对WP动刀子,我要对多说动刀子了,我现在用的不能显示IP……多说的js改成php会是啥感觉…… :grin:

    • 西门飘雪 0 来自天朝的朋友 QQ浏览器 Windows 10 云南省昆明市呈贡县 电信

      亲,我现在也遇到类似的要动刀子的问题了!感谢帮忙分析一下,给个解决之道。非常感谢!我这里看到您这边显示的地址很具体。所以膜拜您为师,学习学习!

  13. 替替 1 来自天朝的朋友 谷歌浏览器 Windows 8.1 北京市 联通

    非常感谢博主,我用的Ality主题也已经设置成功,第二步查找“callback后面接的函数名”没有找到,但我发现如下图线索:” rel=”nofollow”>查找函数的发现,随后在/inc/functions/comment-template.php这个目录下找到评论者评论代码并插入成功。这是够我折腾的,多谢博主啦。

    • 张戈 [博主] 来自天朝的朋友 谷歌浏览器 Windows XP 广东省深圳市 联通

      是的,有点主题没有自定义这个回调函数,折腾才有进步。

  14. 运维网 1 来自天朝的朋友 搜狗浏览器 Windows 7 贵州省铜仁地区 电信

    那么问题来了,如何显示前面是图标然后跟着文字信息

  15. 第二度 1 来自天朝的朋友 Safari浏览器  Android 4.4.4 M355 Build/KTU84P 黑龙江省哈尔滨市 移动

    用了几天,发现安卓手机用UC浏览器和自带浏览器评论都显示为:Safari浏览器。然后电脑用360浏览器评论,显示的是谷歌浏览器。这个是咋回事……

  16. 拽立网 1 来自天朝的朋友 谷歌浏览器 Windows 8.1 广东省深圳市 电信

    继续学习!

  17. 新人求教 0 来自天朝的朋友 谷歌浏览器 Windows 7 江西省抚州市 联通

    按你上面的方法,那个显示国家显示浏览器的都不能显示,而另外的那个本地显示IP的方法就行,只要你面调用,显示我的评论那里是是空白,头像在,而我用另一种方法能显示UA,只是没图片出来,调用放的位置是正确的,望博主更新一下心得,好吗?

  18. LEEJON 2 来自天朝的朋友 谷歌浏览器 Windows 7 广西桂林市 联通

    我的国旗显示比浏览器图标显示偏低小一点,这个怎么处理呀?

  19. 诸葛博客 2 来自天朝的朋友 谷歌浏览器 Windows XP 天津市 电信

    签到成功!签到时间:下午6:19:17 ,每日签到,生活更精彩哦~请问我安装后怎么 IP 地址信息不显示呢? 能帮我看看嘛

  20. 无穷大 0 来自天朝的朋友 QQ浏览器 Windows 10 福建省泉州市 电信

    为什么显示在局域网呢

  21. 拾叁 1 来自天朝的朋友 QQ浏览器 Windows 10 海南省琼海市 电信

    试一下效果

  22. 拾叁 1 来自天朝的朋友 QQ浏览器 Windows 10 海南省琼海市 电信

    试一下啊效果!

  23. 转运女王 1 来自天朝的朋友 谷歌浏览器 Windows 10 云南省曲靖市 电信

    我太笨了,找不到怎么放代码呢 :???:

  24. 我爱武汉 1 来自天朝的朋友 谷歌浏览器 Windows 7 湖北省孝感市 移动

    callback=hui_comment_list 但是找不到hui_comment_list 函数 怎么办

  25. 堆爱博客 3 来自天朝的朋友 Netscape Navigator iPhone iPhone OS 10_3 like Mac OS X 贵州省黔东南州凯里市 电信

    博主你好!插件有没有新版本啊!能不能放个新的下载链接呢?

  26. 飯特稀 1 来自天朝的朋友 谷歌浏览器 Windows 10 河南省郑州市 联通

    QQ浏览器现在好像也检测不出来了!

  27. 飯特稀 1 来自天朝的朋友 QQ浏览器 Windows 10 河南省郑州市 联通

    试试QQ浏览器怎么样

  28. 米扑 3 来自天朝的朋友 谷歌浏览器 Mac OS X 10_12_6 北京市 电信

    测试下评论效果

加载中,请稍候...