Typecho免插件实现文章浏览次数统计
Typecho免插件实现文章浏览次数统计
转载声明:Typecho免插件实现文章浏览次数统计(Cookie Enabled)
感谢 Ryan 提供的实现方法
具体步骤:
- 在
functions.php
里添加
/*
* 获取浏览次数(改进版)
*/
function getViewsStr($widget, $format = "{views} 次浏览") {
$fields = unserialize($widget->fields);
if (array_key_exists('views', $fields))
$views = (!empty($fields['views'])) ? intval($fields['views']) : 0;
else
$views = 0;
//增加浏览次数
if ($widget->is('single')) {
$vieweds = Typecho_Cookie::get('contents_viewed');
if (empty($vieweds))
$vieweds = array();
else
$vieweds = explode(',', $vieweds);
if (!in_array($widget->cid, $vieweds)) {
$views = $views + 1;
$widget->setField('views', 'str', strval($views), $widget->cid);
$vieweds[] = $widget->cid;
$vieweds = implode(',', $vieweds);
Typecho_Cookie::set("contents_viewed",$vieweds);
}
}
return str_replace("{views}", $views, $format);
}
- 在
index.php
和post.php
需要显示文章统计次数的地方,添加
<?php _e(getViewsStr($this)); /* $this 是 Widget_Archive 对象 */ ?>
输出统计次数。
转载声明:Typecho免插件实现文章浏览次数统计(Cookie Enabled)