用WP-Postviews 插件使用代码实现文章浏览次数的显示且保留原有浏览数据的方法

使用代码替换WP-Postviews 插件实现文章浏览次数会从0开始,那有没有保留WP-Postviews 插件浏览数据的方法吗?其实是有的,下面给大家分享一下解决方法。

问题根源:

解决问题之前,我们先看下那段代码实现的原理:

它是通过在数据库中根据postID 文章ID,然后对每个postID都新建一个“post_views_count”字段,然后使用“get_post_meta”函数获得“post_views_count”字段的数值(即为文章浏览数),最后通过“update_post_meta”函数来为每次浏览+1并且记录到“post_views_count”字段里面,从而实现了文章浏览数统计。

那使用代码替换WP-Postviews 插件实现文章浏览次数会从0开始是什么原因呢?

很简单,因为WP-Postviews 插件是使用自己定义的字段“views”,自然是互补干扰,各显示各的!

解决方法:

解决方法很简单,我们改进一下原有代码,让它直接显示“views”字段的参数即可

改进后代码分享:

/*显示文章浏览次数*/
 function getPostViews($postID){
 $count = get_post_meta($postID,'views', true);
 if($count==''){
 delete_post_meta($postID,'views');
 add_post_meta($postID,'views', '0');
 return "0";
 }
 return $count.'';
 }
 function setPostViews($postID) {
 $count = get_post_meta($postID,'views', true);
 if($count==''){
 $count = 0;
 delete_post_meta($postID,'views');
 add_post_meta($postID,'views', '0');
 }else{
 $count++;
 update_post_meta($postID,'views', $count);
 }
 }

使用方法

1.打开functions.php,添加上面的代码在之间:

2.打开single.php,添加下面的代码在主循环之内

小技巧:搜索标题显示函数调用代码<?php the_title(); ?>,把下面的代码添加在此代码的后面就可以了

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

3.在需要显示文章浏览次数的地方添加调用函数代码即可,具体位置这要要看主题而定

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

小技巧1:这个也可以个性显示的,例如我是的:

<?php echo getPostViews(get_the_ID()); ?> 次+

小技巧2:如果想让浏览统计数字像WP-Postviews 插件一样会每3位加一个“,”号,例如“1,234”,那么就把此段代码改为:

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

最后提醒一下大家,如果你想让WP-Postviews 插件保留浏览数统计数据的话,直接在插件管理里面停用-删除即可,千万不要使用WP-Postviews 插件自身的卸载功能,那会清空所有浏览数统计数据。

原文来自http://www.henghengzhu.com/share/251.html