zoukankan      html  css  js  c++  java
  • 为Typecho增加文章阅读次数统计功能

    文章次数统计是比较常用的功能,下面通过修改代码实现统计。

    控制台 / 外观 / 编辑当前外观 / 在 functions.php 加入以下代码
    代码已中加入了cookie验证,让文章浏览次数更具有真实性
    阅读次数记录在 db._contents.views表中。

    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;
    }
    

    调用方式 : <?php Postviews($this); ?>
    文章页 post.php 必须要调用,否则无法统计。

    然后在首页 index.php 或者其他需要输出阅读量的位置调用即可。

    最终效果如下。


    作者:Outsrkem
    出处:https://www.cnblogs.com/outsrkem/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    第二阶段冲刺(一)
    第一冲刺阶段博客检查汇总
    整改方案
    意见
    站立会议(九)
    站立会议八
    我爱淘二次冲刺阶段1
    我爱淘冲刺阶段7
    我爱淘冲刺阶段6
    我爱淘冲刺阶段5
  • 原文地址:https://www.cnblogs.com/outsrkem/p/12182275.html
Copyright © 2011-2022 走看看