typecho非插件实现文章阅读次数统计(cookie版)
导读:今天在这个基础上加入了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核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: typecho非插件实现文章阅读次数统计(cookie版)
本文地址: https://pptw.com/jishu/7869.html