为Typecho增加文章阅读次数统计功能

文章次数统计是比较常用的功能,插件一搜一堆,下面说说把这个功能集成到主题里的方法:
把下面这段代码放到主题文件functions.php中


function Postviews($archive) {
    $db = Typecho_Db::get();
    $cid = $archive->cid;
    if (!array_key_exists(‘views‘, $db->fetchRow($db->select()->from(‘table.contents‘)))) {
        $db->query(‘ALTER TABLE `‘.$db->getPrefix().‘contents` ADD `views` INT(10) DEFAULT 0;‘);
    }
    $exist = $db->fetchRow($db->select(‘views‘)->from(‘table.contents‘)->where(‘cid = ?‘, $cid))[‘views‘];
    if ($archive->is(‘single‘)) {
        $cookie = Typecho_Cookie::get(‘contents_views‘);
        $cookie = $cookie ? explode(‘,‘, $cookie) : array();
        if (!in_array($cid, $cookie)) {
            $db->query($db->update(‘table.contents‘)
                ->rows(array(‘views‘ => (int)$exist+1))
                ->where(‘cid = ?‘, $cid));
            $exist = (int)$exist+1;
            array_push($cookie, $cid);
            $cookie = implode(‘,‘, $cookie);
            Typecho_Cookie::set(‘contents_views‘, $cookie);
        }
    }
    echo $exist == 0 ? ‘暂无阅读‘ : $exist.‘ 次阅读‘;
}

然后在首页index.php、文章页post.php或者其他需要输出阅读量的位置调用<?php Postviews($this); ?>即可(文章页必须要调用,否则无法统计)。

原文地址:https://www.cnblogs.com/vbyyuuy/p/12026503.html

时间: 2024-11-08 22:42:32

为Typecho增加文章阅读次数统计功能的相关文章

Typecho显示文章阅读次数统计

#控制台 / 外观 / 编辑当前外观 / 在 functions.php 最后面加入以下代码 #代码已中加入了cookie验证,让文章浏览次数更具有真实性 function get_post_view($archive) { $cid = $archive->cid; $db = Typecho_Db::get(); $prefix = $db->getPrefix(); if (!array_key_exists('views', $db->fetchRow($db->selec

一个简单的blog系统(十) 增加pv统计和留言统计

1. 现在我们来给每篇文章增加pv统计和留言统计功能. 假设:在主页.用户也和文章页均可以显示pv统计和留言统计 首先,打开post.js,修改代码如下所示: //要存入数据库的文档 var post = { name: this.name, time: time, title: this.title, post: this.post, tags: this.tags, comments: [], pv: 0 }; 然后,修改Post.getOne()为如下所示: //获取一篇文章,根据用户名,

使用redis实现【统计文章阅读量】及【最热文章】功能

1.视图函数 # 不需要登录装饰器,匿名用户也可访问def article_detail(request, id, slug): # print(slug,id) article = get_object_or_404(ArticlePost, id=id, slug=slug) # 连接redis r = redis.StrictRedis(host=settings.REDIS_HOST, port=settings.REDIS_PORT, db=settings.REDIS_DB) # 总

wordpress文章统计插件:WP-PostViews让你的文章阅读量及时更新

新安装的wordpress博客,打开文章是不刷新文章的阅读数量的,但是我们可以借助WP-PostViews插件,来及时更新我们的文章统计数量.接下来泽业建站网就给新手们一个完整的新手教程,教大家使用这个插件. 第一步:安装和启用插件. 方法:后台首页--插件--安装插件--搜索WP-PostViews,选择第一个由Lester 'GaMerZ' Chan开发的WP-PostViews插件,点击现在安装,安装以后,再点击启用即可.启用以后如图: 安装WP-PostViews插件 第二步:添加代码.

杨泽业:WP-PostViews文章统计插接让你的文章阅读量及时更新

新安装的wordpress博客,打开文章是不刷新文章的阅读数量的,但是我们可以借助WP-PostViews插件,来及时更新我们的文章统计数量.接下来泽业建站网就给新手们一个完整的新手教程,教大家使用这个插件. 第一步:安装和启用插件. 方法:后台首页--插件--安装插件--搜索WP-PostViews,选择第一个由Lester 'GaMerZ' Chan开发的WP-PostViews插件,点击现在安装,安装以后,再点击启用即可.启用以后如图: 安装WP-PostViews插件 第二步:添加代码.

如何Windows分页控件中增加统计功能

在我的博客里面,很多Winform程序里面都用到了分页处理,这样可以不管是在直接访问数据库的场景还是使用网络方式访问WCF服务获取数据,都能获得较好的效率,因此WInform程序里面的分页控件的使用是很好的一个解决方式,它能够快速获取数据,并将可能减少我们增加太多的代码逻辑,实现简单.高效.统一的理念.本篇主要介绍如何在分页的GridControl里面如何实现数据的统计功能. 一般情况下,分页控件呈现分为两种方式,一种需要有分页码的真正分页处理,一种是不需要分页处理,但是列表和功能基本保持一致的

用c#开发微信 (13) 微统计 - 阅读分享统计系统 3 UI设计及后台处理

  微信平台自带的统计功能太简单,有时我们需要统计有哪些微信个人用户阅读.分享了微信公众号的手机网页,以及微信个人用户访问手机网页的来源:朋友圈分享访问.好友分享消息访问等.本系统实现了手机网页阅读.分享与来源统计及手机网页在朋友圈的传播路径分析. 本系统使用最传统的三层架构.本文是微统计的第三篇,主要介绍如下内容:   1. 为页面HighCharts画图控件提供数据 2. 接收分享记录信息并保存到数据库 3. 访问记录统计图 4. 阅读统计界面 5. 处理文字请求 前端开发框架使用Boots

用c#开发微信 (14) 微统计 - 阅读分享统计系统 4 部署测试 (最终效果图)

微信平台自带的统计功能太简单,有时我们需要统计有哪些微信个人用户阅读.分享了微信公众号的手机网页,以及微信个人用户访问手机网页的来源:朋友圈分享访问.好友分享消息访问等.本系统实现了手机网页阅读.分享与来源统计及手机网页在朋友圈的传播路径分析. 本文是微统计的第四篇,主要介绍如下内容:   1. 部署 2. 测试   下面是详细的实现方法: 一.部署 1. Entity Framework 错误 如果出现下面的错误: The EntityContainer name must be unique

微信号复制统计工具,来粉详细统计功能,微信号复制统计系统,落地页微信号自动控制功能

复制统计,加粉统计功能,微信号复制统计,关键词复制统计功能,实现微信号自动上下线控制 注册地址链接: www.hduofen.com所有功能详细介绍链接:介绍 免费注册,提供免费使用,而且功能无限制,只是免费版的开放的数量比较少.付费版价格也是明码标价,可以根据自己推广的链接需求选择对应的版本. 使用原理: 新增功能: 1. 新增微信号分组管理功能 2. 新增微信号客服名称同步显示功能 3. 新增微信号根据复制规则自动控制上下线时间. 4. 新增微信号权重设置,每个微信号可以设置不同的权重来调整