首页后端开发JAVAtypecho非插件实现文章阅读次数统计(cookie版)

typecho非插件实现文章阅读次数统计(cookie版)

时间2023-04-25 02:27:01发布访客分类JAVA浏览1371
导读:今天在这个基础上加入了cookie验证,让文章浏览次数更具有真实性。 在 functions.php 中加入下面代码function get_post_view($archive { $cid = $archive->...

今天在这个基础上加入了cookie验证,让文章浏览次数更具有真实性。 在 functions.php 中加入下面代码

function get_post_view($archive)
{
    
    $cid    = $archive->
    cid;
    
    $db     = Typecho_Db::get();
    
    $prefix = $db->
    getPrefix();
    
    if (!array_key_exists('views', $db->
    fetchRow($db->
    select()->
from('table.contents')))) {
    
        $db->
    query('ALTER TABLE `' . $prefix . 'contents` ADD `views` INT(10) DEFAULT 0;
    ');
    
        echo 0;
    
        return;

    }
    
    $row = $db->
    fetchRow($db->
    select('views')->
    from('table.contents')->
    where('cid = ?', $cid));
    
    if ($archive->
is('single')) {
    
 $views = Typecho_Cookie::get('extend_contents_views');

        if(empty($views)){
    
            $views = array();

        }
else{
    
            $views = explode(',', $views);

        }

if(!in_array($cid,$views)){
    
       $db->
    query($db->
    update('table.contents')->
    rows(array('views' =>
     (int) $row['views'] + 1))->
    where('cid = ?', $cid));
    
array_push($views, $cid);
    
            $views = implode(',', $views);
    
            Typecho_Cookie::set('extend_contents_views', $views);
 //记录查看cookie
        }

    }
    
    echo $row['views'];

}
    

在需要显示次数的地方 (如 index.php,post.php,page.php) 加下边的代码

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

phptypecho插件基础统计

若转载请注明出处: typecho非插件实现文章阅读次数统计(cookie版)
本文地址: https://pptw.com/jishu/7869.html
Typecho不修改源码不关闭反垃圾保护兼容pjax 【详细教程】HTML、CSS 和 JS 实现一个任务管理工具-ToDoList

游客 回复需填写必要信息