刷新不累加的 WordPress文章浏览次数统计代码

目前有很多 WordPress插件可以实现文章阅读量的统计和显示功能,但它们大多都是刷新一次页面就增加一次所谓的浏览访问量,有些不符合实际。而且仅为一个比较简单的功能就又安装一个 WordPress插件会不会有点得不偿失呢!

本文就是为了解决这些问题:WordPress文章阅读量统计和显示(非插件, 刷新页面不累加)的代码实现方法和使用说明。

刷新不累加的 WordPress文章阅读量统计代码实现基本思路方法:

每进入一次文章详情页面, 就会通过 cookie判断该用户是否在设定的过期时间内访问过该文章, 若没有访问过, 则浏览次数增加一次。

具体添加操作步骤如下:

一、首先,添加以下代码至你当前使用主题的 functions.php 文件中, 放在该文件最下面即可:

  1. function getPostViews($postID){
  2. $count_key = 'views';
  3. $count = get_post_meta($postID, $count_key, true);
  4. if($count=='' || !$count){
  5. return "0";
  6. }
  7. return $count;
  8. }
  9. function setPostViews($postID){
  10. $count_key = 'views';
  11. $count = get_post_meta($postID, $count_key, true);
  12. if($count=='' || !$count) {
  13. $count = 1;
  14. delete_post_meta($postID, $count_key);
  15. add_post_meta($postID, $count_key, $count);
  16. }else{
  17. $count++;
  18. update_post_meta($postID, $count_key, $count);
  19. }
  20. }

 

二、再添加以下代码至你当前使用主题的 single.php 文件中, +999 的时间间隔可自定义设置, 放在该文件最上面即可:

  1. <?php
  2. if(!isset($_COOKIE['views'.$post->ID.COOKIEHASH]) || $_COOKIE['views'.$post->ID.COOKIEHASH] != '1'){
  3. setPostViews($post->ID);
  4. setcookie('views'.$post->ID.COOKIEHASH,'1',time() + 999,COOKIEPATH,COOKIE_DOMAIN);
  5. }
  6. ?>

 

三、最后,将显示代码添加到要显示浏览次数的位置, 一般就在文章内容页面(single.php),其 CSS样式套用主题相关位子的样式就好。

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

例如本站的实际显示效果如图:

WordPress文章浏览次数统计

至此,你就已经通过代码实现了 WordPress文章浏览次数统计和显示(非插件, 刷新页面不累加)的功能了,还是比较简单实用的。

 

转载请注明链接地址:荐爱小站 » 刷新不累加的 WordPress文章浏览次数统计代码

赞 (0) 赏 !

觉得文章有用就打赏一下吧,赠人玫瑰手有余香!

支付宝扫一扫打赏

微信扫一扫打赏