免插件实现WordPress文章阅读次数

2013年03月12日19:32:53 83 20,895

一般为Wordpress文章添加阅读次数统计,会用到wp-postviews或者wp-postviews-plus插件,这里分享两段不用插件实现Wordpress文章阅读次数的代码,供大家参考。

代码一:

一、首先将下面代码加到主题functions模版文件中:

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

二、接下来将下面代码加到主题single模版主循环的中:

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

也就是类似这句的下面

  1. <?php if (have_posts()) : while (have_posts()) : the_post(); ?>  

三、最后,将调用显示阅读次数代码加到single模版适当的位置:

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

如果想在其它位置显示阅读次数,可以将下面代码也加到functions模版中:

  1. remove_action('wp_head','adjacent_posts_rel_link_wp_head',10,0);  

 

原文:Track post views without a plugin using post meta

代码二:

一、同样将下面代码加到主题functions模版文件中:

  1. //postviews   
  2. function get_post_views ($post_id) {   
  3.   
  4.     $count_key = 'views';   
  5.     $count = get_post_meta($post_id$count_key, true);   
  6.   
  7.     if ($count == '') {   
  8.         delete_post_meta($post_id$count_key);   
  9.         add_post_meta($post_id$count_key, '0');   
  10.         $count = '0';   
  11.     }   
  12.   
  13.     echo number_format_i18n($count);   
  14.   
  15. }   
  16.   
  17. function set_post_views () {   
  18.   
  19.     global $post;   
  20.   
  21.     $post_id = $post -> ID;   
  22.     $count_key = 'views';   
  23.     $count = get_post_meta($post_id$count_key, true);   
  24.   
  25.     if (is_single() || is_page()) {   
  26.   
  27.         if ($count == '') {   
  28.             delete_post_meta($post_id$count_key);   
  29.             add_post_meta($post_id$count_key, '0');   
  30.         } else {   
  31.             update_post_meta($post_id$count_key$count + 1);   
  32.         }   
  33.   
  34.     }   
  35.   
  36. }   
  37. add_action('get_header', 'set_post_views');  

二、将调用显示阅读次数代码加到single模版适当的位置:

  1. <?php get_post_views($post -> ID); ?> views  

调用显示阅读次数代码也可以加到其它模版文件的适当位置。

代码i源自:M2主题

附:HotNews主题添加方法

weinxin
我的微信
分享交流WordPress经验与技巧,关注前端设计与网站制作。仅用于功能演示。
Begin主题购买
Begin主题购买

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:83   其中:访客  76   博主  7

    • 网赚网 1

      学习了,有帮助

      • 梅春熙个人博客 4

        鸟哥、能详细的说明一下怎么用吗?小白

        • 0

          加进去后,浏览器上面文章标题显示乱码,怎么破?

          • 执念 1

            用wp_postviwes可以吗

            • 执念 1

              效果相同吗

              • dingding 1

                添加完第一个代码直接显示模板错误!网站都打不开了·················哎

                • 世界语 1

                  太感谢你了,成功了。但还有两个问题,先请教您一个:博客文章可以显示阅览次数,页面不显示阅览次数。
                  http://reto.cn/php/blog/wordpress

                    • 世界语 1

                      @世界语 这个问题也解决了。在content-page.php里面加上下面这句代码就行了:
                      代码无法显示?

                    • SparkandShine 0

                      那个“赞 赏 分享”很酷,应该是自己弄的吧,可否指点下要点?谢谢!

                      • 古古 1

                        那么怎样让阅读次数像DZ论坛一样搞个虚拟的呢?比如我博客天天没人次数都是0让他每点一下增加N倍,或者默认就有N个浏览

                        • boke112导航 4

                          代码二不错,而且不会影响原先使用wp-postviews插件的阅读数,非常给力

                          • 腾蛙网 3

                            试试看

                            • 4

                              感谢分享