目前有很多 WordPress插件可以实现文章阅读量的统计和显示功能,但它们大多都是刷新一次页面就增加一次所谓的浏览访问量,有些不符合实际。而且仅为一个比较简单的功能就又安装一个 WordPress插件会不会有点得不偿失呢!
本文就是为了解决这些问题:WordPress文章阅读量统计和显示(非插件, 刷新页面不累加)的代码实现方法和使用说明。
刷新不累加的 WordPress文章阅读量统计代码实现基本思路方法:
每进入一次文章详情页面, 就会通过 cookie判断该用户是否在设定的过期时间内访问过该文章, 若没有访问过, 则浏览次数增加一次。
具体添加操作步骤如下:
一、首先,添加以下代码至你当前使用主题的 functions.php 文件中, 放在该文件最下面即可:
- function getPostViews($postID){
- $count_key = 'views';
- $count = get_post_meta($postID, $count_key, true);
- if($count=='' || !$count){
- return "0";
- }
- return $count;
- }
- function setPostViews($postID){
- $count_key = 'views';
- $count = get_post_meta($postID, $count_key, true);
- if($count=='' || !$count) {
- $count = 1;
- delete_post_meta($postID, $count_key);
- add_post_meta($postID, $count_key, $count);
- }else{
- $count++;
- update_post_meta($postID, $count_key, $count);
- }
- }
二、再添加以下代码至你当前使用主题的 single.php 文件中, +999 的时间间隔可自定义设置, 放在该文件最上面即可:
- <?php
- if(!isset($_COOKIE['views'.$post->ID.COOKIEHASH]) || $_COOKIE['views'.$post->ID.COOKIEHASH] != '1'){
- setPostViews($post->ID);
- setcookie('views'.$post->ID.COOKIEHASH,'1',time() + 999,COOKIEPATH,COOKIE_DOMAIN);
- }
- ?>
三、最后,将显示代码添加到要显示浏览次数的位置, 一般就在文章内容页面(single.php),其 CSS样式套用主题相关位子的样式就好。
- <?php echo getPostViews(get_the_ID());?>
例如本站的实际显示效果如图:
至此,你就已经通过代码实现了 WordPress文章浏览次数统计和显示(非插件, 刷新页面不累加)的功能了,还是比较简单实用的。
转载请注明链接地址:荐爱小站 » 刷新不累加的 WordPress文章浏览次数统计代码