WP-PostViews插件防刷新与排除管理员浏览统计操作

WP-PostViews主要用于文章阅读数访问量的统计,插件实用简单。它可以在统计每篇日志被浏览的次数(pv),通过对pv的分析,这样我就可以知道哪些页面受读者喜欢。 而且WP-PostViews功能非常强大,可以快速实现文章浏览量Top 10的操作(这个功能我给满分)。并且最新版的 Postviews 还支持缓存。不过我还是在使用过程中发现其pv不防刷新的不足,默认设置下管理员浏览文章时pv也会增加。然而这不是我想要的,因为感觉这样的pv毫无意义。

WP-PostViews插件防刷新具体步骤

打开WP-PostViews插件的wp-postviews.php文件,在process_postviews()中$post初始化后添加2行:

function process_postviews() {
global $user_ID, $post; 此行下面添加下面2句
if(check_cookie($post))
return;

然后还是在wp-postviews.php文件中添加以下函数
function check_cookie($post){
$COOKNAME = 'CookieViews';
$cookie = $_COOKIE[$COOKNAME];
$id = $post->ID;
if(empty($id)){
return false;
}
if(!empty($cookie)){
$list = explode('a', $cookie);
if(!empty($list) && in_array($id, $list)){
return true;
}
}
return false;
}

最后在你的wordpress主题根目录下single.php写cookie部分,放在最顶端

$COOKNAME = 'CookieViews';
$TIME = 3600 * 24;
$PATH = '/';
 
$id = $posts[0]->ID;
$expire = time() + $TIME;
$cookie = $_COOKIE[$COOKNAME];
if(empty($cookie)){
 setcookie($COOKNAME, $id, $expire, $PATH);
}
else{
 $list = explode('a', $cookie);
 if(!in_array($id, $list)){
  setcookie($COOKNAME, $cookie.'a'.$id, $expire, $PATH);
 }
}

 

还有为了防止主题代码更新后代码被重新覆盖问题的发生,可以使用wp官方的子主题方案解决,官方文档

WP-PostViews排除管理员浏览统计wp后台操作
打开WP-PostViews插件后台设置-浏览次数,第一项设置计浏览次数来自于,选择为仅访客。
忽略来自机器的浏览::我是选的是,这个选项可以设置是否排除爬虫的访问,如果想多增加些阅读数的话还是建议否。不过我为了使数据更有意义选择是。
注明出处:https://www.jinmio.com/tech/wp-postviews-pv-refresh/

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

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