首页 / 技术 / 正文

蛋疼的计数器插件WP-PostViews

2014年03月20日 5 条评论 ... 技术

从昨天晚上开始,我的博客有了点小小的变化,就是删掉了博客的阅读计数,对于这个变化,确实不是我心甘情愿的,是我安装 WP-PostViews 这款插件的时候,被他清除了之前有过的阅读计数,安装完这个插件之后,所有的文章阅读量全部变成0了,看到这个结果,我心里真的是碾过一大波草泥马。

发现最近我真的好点背:1、网站换域名所有外联失效,流量大降;2、错误设置 robots.txt 文件,导致百度所有收录全部删除,流量几乎消失;3、因为安装 WP-PostViews,导致之前所有的计数数据被清零。我是不是应该去找算命先生算一卦了!这个时候我突然想到了我在站长网上发表的第一篇文章:网站SEO优化技巧-不要手贱怎么都行

本站之前使用的计数器不是插件,而是主题自带的计数功能,其实要不是我在捯饬关于 WordPress 缓存插件的话,我才不会去安装 WP-PostViews 呢,想当初,一些很久之前发布的文章,累积阅读数都达到了数十万,现在想想都是泪啊。

其实自带计数器很简单就可以实现,完全不必要去安装这么蛋疼的插件。

将下面的代码放置在 function.php 文件中。

  1. //访问计数
  2. function record_visitors(){
  3.     if (is_singular()) {global $post;
  4.      $post_ID = $post->ID;
  5.       if($post_ID)
  6.       {
  7.           $post_views = (int)get_post_meta($post_ID, 'views', true);
  8.           if(!update_post_meta($post_ID, 'views', ($post_views+1)))
  9.           {
  10.             add_post_meta($post_ID, 'views', 1, true);
  11.           }
  12.       }
  13.     }
  14. }
  15. add_action('wp_head', 'record_visitors');
  16. function post_views($before = '(点击 ', $after = ' 次)', $echo = 1)
  17. {
  18.   global $post;
  19.   $post_ID = $post->ID;
  20.   $views = (int)get_post_meta($post_ID, 'views', true);
  21.   if ($echoecho $before, number_format($views), $after;
  22.   else return $views;
  23. };

 

调用方式如下:

  1. <?php post_views(' ', ' 次'); ?>

但是要注意的是,不论是代码的方式还是插件的方式,这些代码在开启缓存后都不会起效果,本人测试的是 WP Super Cache 这款缓存插件,于是本人辛辛苦苦在网上找了半天的相关信息,还真找到了不少,看起来最佳的解决方法是,先修改 WP-PostViews 的代码,然后安装 WP-PostViews 的扩展插件 Ajax_the_views,就可以在插件中的插件,真够有范的。但是问题是,现在安装使用的 WP-PostViews 插件是更新后的版本,找不到需要修改的地方。也懒得自己去一点点分析代码。最最主要的是,安装完 WP-PostViews 之后,他居然把我之前的数据删掉了,让我有什么心情去研究这个插件,难道还要再去祸害别人?

 

到底要这么知道自己的数据真的被删除了,去数据库看一看就知道了。WordPress 系统的数据库中有一个这样的表: wp_usermeta ,这个表是用来储存用户自定义的数据,比如说用来保存主题的设置,同样,计数数据也是存放在这个表里面,所以里面会显得比较凌乱。如果发现里面的 views 相关的数据都没有的话,那就可以直接准备后事了。

 

被删除了数据之后,有点万念俱灰的感觉,稍作调整,就把网站所有的计数代码删掉了,咱惹不起还躲不起?以后时机成熟了再重新安装吧。安安心心的启用了缓存插件,让我心情有些好的是,网站速度确实提上去了。

真不知道是怎么搞得,最近感觉主机速度巨慢,还是要好好考虑一下换主机服务商的问题了。

一切安好!

5 条评论

Loading...
  1. Louis Han

    我也是用的这个插件实现计数

    2014-03-20 [回复]
  2. 技术控

    呵呵,我的集成了!

    2014-03-20 [回复]
  3. Amaoy

    除了计数就没有别的,我感觉装这个插件的意义不大。

    2014-03-22 [回复]
    • 有野出没

      我统计了一下个人博客,大部分都装的计数插件,感觉还是有用的,因为阅读人数代表文章的质量。

      2014-03-22 [回复]
  4. 阿塔历斯

    幸好我装的比较早。。。关键是。。自己看也计数。。。预览10来次。。。计数10

    2014-04-25 [回复]

发布评论