最近发现很多WordPress站点的评论上都弄了一个显示评论人的国籍、系统、浏览器等信息,所以今天就顺便折腾一下,如何用纯代码实现WordPress评论显示访客UA信息和地里信息。
其实,想让WordPress评论显示访客UA信息和地里信息,有两种方法,一种就是最简单的插件法,另一种就是代码折腾法。不想折腾的朋友只需要下载安装WordPress访客信息插件:Show UserAgent即可。
这个插件经过张戈大神几番折腾,终于弄成了代码版,而且比起插件还有所改善:
- 合并php代码并去掉了插件所需的冗余代码,如hook、action等;
- 轻度汉化了一些信息显示(浏览器名称,部分国籍等),插件是纯英文的;
- 创意性添加诙谐翻译(原创诙谐翻译,请勿盗版哟~哈哈)。
让我们回归正题,具体纯代码实现WordPress评论显示UA和地理信息方法如下:
1、下载张戈博主整理好的代码包:
2、解压后将得到的show-useragent文件夹一并上传到正在用的WordPress主题目录;
3、在WordPress主题目录下的functions.php文件的最后一个 ?>之前添加以下代码:
- include("show-useragent/show-useragent.php"); //显示访客信息
4、下面这一步有点麻烦,请仔细看:
在WordPress主题目录下的comments.php文件中搜索wp_list_comments:
比如,懿古今Three主题/Unite主题的comments.php文件会搜到下面这一串代码
- <?php wp_list_comments( 'type=comment&callback=mytheme_comment' ); ?>
如果你发现代码中有一个 callback=xxxxx 回调函数,那么说明你的主题已自定义了评论列表的样式,那么请自行查找callback后面接的函数名(一般会在主题目录下的functions.php里面,Three主题/Unite主题在主题文件夹的\inc\functions\comment-template.php文件),然后在适当的位置插入如下代码:
- <?php CID_print_comment_flag(); echo ' ';CID_print_comment_browser(); ?>
温馨提示:默认情况下都是将以上代码添加到了评论者名称的后面,所以我们只需要把代码插入到mytheme_comment函数里面的评论者评论代码后面即可。如Three主题,我们可以直接添加在
- <span class="duzhe"><?php commentauthor(); ?></span>
后面,或者是放在评论等级后面,或评论日期后面,具体由大家自行决定。
PS:对于实现这种信息,本站一直都不太喜欢,所以就懒得折腾进来,具体的效果请大家前往张戈博客参观学习。
文中技术及代码来源于张戈博客,原文链接:WordPress显示访客UA信息:Show UserAgent纯代码轻度汉化版