今天查看百度统计数据时无意中发现有不少流量是自己访问产生的。由于我每次写文章的时候都会预览十几次,这些访问也都算进去了,导致统计结果非常不准确。

visit statistics

如果代码能够针对不同用户决定是否启用统计就可以避免这种情况了:普通用户访问的页面包含统计代码,如果是管理员或其他可以编辑帖子的用户登录就包含统计代码。

WordPress Codex 翻了一遍,发现_current_usercan()这个函数可以实现这个功能,在输出统计代码时加一个判断就行了:

1
2
3
<?php if(!current_user_can( 'edit_post' )) { ?>   
//百度、Google等统计代码
<?php } ?>

实现后不同用户访问的统计代码输出:

user with edit permission

normal user