明凯博客

关注网站技术,一个特立独行的程序员

完全纯代码实现文章浏览量和博客统计功能

用WordPress搭建的网站,肯定想知道你的文章被多少人点击看过吧。

一些用于统计文章点击次数的插件可以解决这个问题。不过,我用的的是一个更简单的不用任何插件实现点击数统计的方法。

首先,需要创建相关的函数。你可以把下面的代码粘贴到你所用主题的 functions.php 文件里。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//取得文章的阅读次数开始  
function getPostViews($postID){   
$count_key = 'post_views_count';   
$count = get_post_meta($postID, $count_key, true);   
if($count==''){   
delete_post_meta($postID, $count_key);   
add_post_meta($postID, $count_key, '0');            
return "0";   
}   
return $count;   
}   
//设置文字阅读次数
function setPostViews($postID) {   
$count_key = 'post_views_count';   
$count = get_post_meta($postID, $count_key, true);   
if($count==''){   
$count = 0;   
delete_post_meta($postID, $count_key);   
add_post_meta($postID, $count_key, '0');   
}else{   
$count++;   
update_post_meta($postID, $count_key, $count);   
}   
}  
//取得文章的阅读次数结束

然后,粘贴下面的代码到主题的 single.php 的文章的 loop 里:

1
< ?php setPostViews(get_the_ID()); ?>

最后,把下面的代码拷贝到任意你的主题模板里想要显示点击数的地方:

1
< ?php echo getPostViews(get_the_ID()); ?>

下面是明凯博客的效果:

view1

那么如何添加博客统计信息?

添加站点信息有助于前台实时显示文章用户浏览等数据。添加有很多方法,比较典型的有:插件法和代码法。

本文使用代码方法实现站点统计信息,明凯博客统计信息展示如下图:

view2

很多教程统计总浏览数的时候都用了插件wp-postview,要不然就会有错误,为什么要多此一举呢,可以不用插件非要去调用插件呢。

明凯在这里研究出了新的纯代码方法,但是必须得结合统计文章的代码来实现,就是我上面介绍的。

下面给出站点统计的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<div class="widget status">
<h3>博客统计</h3>
<ul>
<li>文章:< ?php $count_posts = wp_count_posts();echo $published_posts = $count_posts->publish;?></li>
<li>页面:< ?php $count_pages = wp_count_posts('page');echo $page_posts = $count_pages->publish;?></li>
<li>分类:< ?php echo $count_categories = wp_count_terms('category');?></li>
<li>标签:< ?php echo $count_tags = wp_count_terms('post_tag'); ?></li>
<li>链接:< ?php $link = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->links WHERE link_visible = 'Y'"); echo $link; ?></li>
<li>草稿:< ?php $count_posts = wp_count_posts(); echo $draft_posts = $count_posts->draft; ?></li>
<li>评论:< ?php $count_comments = get_comment_count();echo $count_comments['approved'];?></li>
<li>用户:< ?php $users = $wpdb->get_var("SELECT COUNT(ID) FROM $wpdb->users"); echo $users; ?></li>
<li>浏览:< ?php $views = $wpdb->get_var("SELECT SUM(meta_value) FROM $wpdb->postmeta WHERE meta_key='post_views_count'"); echo $views; ?></li>
<li>运行:< ?php echo floor((time()-strtotime("2013-8-18"))/86400); ?></li>
<li class="update">最后更新:< ?php $last = $wpdb->get_results("SELECT MAX(post_modified) AS MAX_m FROM $wpdb->posts WHERE (post_type = 'post' OR post_type = 'page') AND (post_status = 'publish' OR post_status = 'private')");$last = date('Y-m-d H:i:s', strtotime($last[0]->MAX_m));echo $last; ?></li>
</ul>
</div>

然后将上面PHP代码粘贴到前主题文件夹下的sidebar.php文件中最后一行后面。

最后为博客统计功能加上css样式:

1
2
.status li{float: left;width: 125px;}
.status li.update{width: 215px;}

当然,具体的css效果还是得根据自己的博客来调整。上面是明凯博客的效果。

, , , , ,

相关文章

5 条评论 “完全纯代码实现文章浏览量和博客统计功能

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注