< -- 星星之火,可以燎原 -- >
首  页Python 电脑应用股票操盘经典收藏摄影学习网站设计学习资料杂感随笔留言本
热门话题:人生股票故事生活操盘系统古典阿零经典燎原图片
当前到访用户:天涯游客        
17
修改代码,让WP博客刷新博文时不重复统计文章的浏览次数
2014-9
作者:阿零 | 来源:本站原创 | 分类:Python | 阅读:183 次 | 评论:0 条

前几天,收到热心网友的反馈信息,说阿零的另外一个网站【凌网资讯】的文章浏览次数计数错误,在刷新文章时,浏览次数增加两次。经过测试,确实如此。因为该网站用的是WORDPRESS(WP)博客程序,虽然自己对PHP不甚了解,但没办法只能硬着头皮去读源代码。幸好有一点点编程基础,最后找到原因是逻辑错误所致。

对此,阿零个人觉得对于文章浏览次数,应该剔除访客的重复访问,即:一位访客在一段时间内的访问不重复计数(防止刷新),并且完全排除管理员的测试访问统计。比如,一位访客在24小时内对某一篇博文多次访问,仅统计为一次浏览,刷新网页不会增加浏览计数。如果当前为管理员登录状态,则管理员的所有访问不予统计。因为自己菜鸟一个,在此不作分析,仅给出修改后的代码供有需要的朋友参考。

打开模板函数 (functions.php),找到function setPostViews($postID)函数,修改代码如下:

function setPostViews($postID) {
  $count_key = 'views';
  $count = get_post_meta($postID, $count_key, true);
  if($count==''){
    $count = 0;
    delete_post_meta($postID, $count_key);
    add_post_meta($postID, $count_key, '0');
  }else{
    if(empty($_COOKIE[$postID]) || $_COOKIE[$postID] != 'readed'){
      setcookie($postID, 'readed', time()+24*60*60);
      $count++;
    }else{}

    //以上四行为重点,判断该文是否已经被阅读,如果是第一次打开,则设置一个以博文ID命名的COOKIE,取值‘readed’,并设置该COOKIE的有效期为24小时,文章浏览次数累加1。如果博文已被阅读,存在以博文ID命名的COOKIE,则博文浏览次数不再累加,以防止刷新。

  if(current_user_can('level_10') || current_user_can('level_4')){
  $count=$count+0;

    //以上两行是判断如果有管理员或作者登录,则直接不予统计浏览次数。当然,如果您有特殊的需求或者考虑,也可以在此修改刷新一次的计数值。

  }else{}
    update_post_meta($postID, $count_key, $count);
    }
  }

因为PHP的配置各不相同,如果实际应用中,COOKIE设置无效,您需要在模板函数 (functions.php)的最顶部加上如下代码:

<?php
ob_start(); ........

编后语:其实,关于文章的浏览次数,本没有太多的实用价值,只是一个装饰性的东西而已。记得当初申请2345的广告时,他们的客服来电说:您的博文浏览次数那么少,才十几个,没有流量价值,建议完善后再来申请。现在回想起来,真的很惭愧,很汗颜。

本文为【燎原博客】的原创文章,由阿零于【2090天前】发表在【Python 】分类下,您可以对其【发表评论】,或者引用(转载)到您的个人博客或网站,但必须保留文章的出处、链接地址以及作者等相关信息。
【文章标题】:修改代码,让WP博客刷新博文时不重复统计文章的浏览次数
【链接地址】:http://aoeboke.com/archives/1409170006.html
【文章标签】:PHP代码 WP博客 刷新 重复统计 浏览次数 
本文还没有评论,赶快去抢个沙发吧!
昵称:*
邮箱:*
网站:
验证:看不清?点一下 *
本站公告
欢迎各位朋友的到来,【燎原博客】是博主自己编写网站源码设计制作的个人博客,如果您在浏览中发现有不足的地方或者有什么建议,衷心希望能反馈给我,谢谢!
淘宝客
阅读排行
按月归档
网友评论
文章标签
最新发表
博客统计
文章总数:296 篇
评论总数:119 条
留言总数:23 条
注册会员:17 人
本周更新:0 篇
网站运行:2592 天
最后更新:2020/6/4 23:17
【燎原博客】部分内容来源于网络,版权归原作者所有,如有冒犯实属无意,请及时联系告之,博主在此先行向您致歉,并将在第一时间进行删改。
本站是博主自己设计制作并编写网站程序源码,主要记录个人生活、网站设计、学习电脑及网络应用知识,并介绍一些特色软件和股票指标公式的个人博客类网站。
Designed and Powered by zhlinpb CopyRight © 2013 燎原  All Rights Reserved  滇ICP备13002614号