登录 注册 VIP特权 提交收录
Search Engine Optimization,不撸代码不修BUG
主页 » 教程 » 正文

Typecho非插件实现文章阅读次数统计

网上很多Typecho文章阅读次数统计的代码,但是基本上不能实时增加阅读次数,这个应该是最完美的文章阅读次数实现方法了。

cookie版

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.' 次阅读';
}

非cookie版

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')) {
        
        $db->query($db->update('table.contents')
            ->rows(array('views' => (int)$exist+1))
            ->where('cid = ?', $cid));
        $exist = (int)$exist+1;
    }
    echo $exist == 0 ? '暂无阅读' : $exist.' 次阅读';
}

输出

<?php Postviews($this); ?>

您的大名:
万水千山总是情,给个打赏行不行。 打赏

标签: 代码db-cidexistcookieviews'
! 如链接失效请在下方留言。本站所发布的全部内容源于互联网搬运,仅限于小范围内传播学习和文献参考,请在下载后24小时内删除,如果有侵权之处请第一时间联系我们删除。敬请谅解! E-mail:49613651@qq.com
原创文章,作者:一宇A1xt,如若转载,请注明出处:https://www.a1xt.com/archives/65.html

相关推荐

Sgreen绿色小清新的Typecho主题

一款绿色小清新的typecho主题Sgreen特色8种模板配色,任意选择支持代码高亮支持图片灯箱多端自适应拥有文章归档页面

《绅士》Typecho个人博客模板主题

简介个人博客模板主题《绅士》,搭配灵感来源于站长袁志蒙的个人博客,多骨鱼博客主要参考了其布局.html5+css3,手机导航栏使用了j...

vblog精仿微博的Typecho主题

模仿微博,响应式布局,甚至支持IE8特♂色√ 自带文章浏览量统计(可在后台关闭)√ 支持IE8(部分css3新特效无效)√ 简化文章H...

Tin好看的双栏Typecho模板主题

由bootstrap构成,响应式特色自定义设置博主多种展示信息无插件文章阅读数功能支持代码高亮多端自适应

Angin一个比较简洁的Typecho主题

这是一款收费模板,后来因为作者感觉到写的丑了,然后就免费分享了...特色自适应设计支持Pjax图像缩放代码高亮文章置顶内置了文章阅读数...

Castle一个MD风格单栏Typecho主题

主题特色MD风格自适应支持代码高亮支持 pjax内含多种配色进行选择支持配置多种语言[hide] https://huanyin.la...

LightWhite一个Typecho单栏主题

主题特点响应式单栏主题 反正响应式现在已经是标配了吧pjax 标配代码高亮 还是标配...唉都是标配我写出来干嘛(凑字数友链样式模板 ...

Next.Mist一个简洁大方不花哨的Typecho博客主题

简洁大方的 Hexo 主题 Next.Mist 的typecho移植版。特色支持typecho原生评论(评论样式来自cho的Navy主...


猜你喜欢

typecho模板实现QQ邮箱识别,并生成头像地址

网上很多Typecho文章阅读次数统计的代码,但是基本上不能实时增加阅读次数,这个应该是最完美的文章阅读次数实现方法了。cookie版...


上一篇
下一篇

发表评论