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

2016年7月23日20:26:56 13 333

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

 

一、强迫症

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

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

二、折腾狂

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

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

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

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

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

三、自己撸

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

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

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

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

  1. include("show-useragent/show-useragent.php");  //显示访客信息

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

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

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

  1. <?php wp_list_comments('type=comment&callback=mytheme_comment&end-callback=mytheme_end_comment'); ?>

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

  1. <?php CID_print_comment_flag(); echo ' ';CID_print_comment_browser(); ?>

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

  1. <strong><?php commentauthor(); ?></strong>:

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

  1. <strong><?php commentauthor(); ?></strong>:
  2. <?php CID_print_comment_flag(); echo ' ';CID_print_comment_browser(); ?>

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

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

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

四、补刀手

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

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

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

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

  1. if($name=='China'){
  2.     $name = '来自天朝的朋友';
  3. }

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

五、新补充

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

最新IP库下载:http://duiai.cc/wp-content/themes/begin/show-useragent/ip2c/ip-to-country.bin

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

 

文件下载

广告也精彩
weinxin
我的微信
这是我的微信扫一扫

发表评论

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

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

目前评论:13   其中:访客  7   博主  6

    • avatar 七墨 来自天朝的朋友 火狐浏览器 Windows 10甘肃省兰州市 联通 0

      我弄好之后一直显示着,如何做到鼠标移动到头像再显示?

      • avatar 安享小米 来自天朝的朋友 谷歌浏览器 Windows 7浙江省台州市 电信 0

        这个 国旗图标跟后门2个图标 不一样大小 不整齐 不好看咋解决

        • avatar 安详小米 来自天朝的朋友 谷歌浏览器 Windows 7浙江省台州市 电信 0

          ua代码添加到知更鸟主题的 评论文件里面就可以了吧

          • avatar 马洪飞博客 来自天朝的朋友 谷歌浏览器 Windows 10北京市 鹏博士长城宽带 2

            callback=xxxxx 回调函数,在哪个文件啊没找到。。。

              • avatar 堆爱 博主 来自天朝的朋友 QQ浏览器 iPhone iPhone OS 9_3_3 like Mac OS X) AppleWebKit贵州省贵阳市 电信

                @马洪飞博客 现在你那浏览器图标和系统图标设置一个高宽14的样式就和国旗一样了!

                  • avatar 马洪飞博客 来自天朝的朋友 谷歌浏览器 Windows 8.1北京市 电信互联网数据中心 2

                    @堆爱 懒得折腾这些啦,现在看看挺有意思的,卧槽,这个评论飘花怎么弄的,教教我啊哈哈

                      • avatar 堆爱博客 博主 来自天朝的朋友 谷歌浏览器  OPPO R11 Plus Build/NMF26X 贵州省铜仁地区 电信

                        @马洪飞博客 貌似有教程,你找找。很久我都没管过这博客了。

                  • avatar 马洪飞博客 来自天朝的朋友 谷歌浏览器 Windows 10北京市 鹏博士长城宽带 2

                    这是张哥的代码吗?

                      • avatar 堆爱 博主 来自天朝的朋友 Netscape Navigator iPhone iPhone OS 9_3 like Mac OS X) AppleWebKit贵州省贵阳市 电信

                        @马洪飞博客 对啊!我用了他的代码就记录下来了!免得以后难道找!