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

知更鸟
知更鸟
知更鸟
站长
2584
文章
0
粉丝
WordPress8325,671阅读模式

一般为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
我的微信
微信号已复制
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
 
知更鸟
评论  83  访客  76  作者  7
    • 网赚网
      网赚网

      学习了,有帮助

      • 梅春熙个人博客
        梅春熙个人博客

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

        • 啊

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

          • 执念
            执念

            用wp_postviwes可以吗

            • 执念
              执念

              效果相同吗

              • dingding
                dingding

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

                • 世界语
                  世界语

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

                    • 世界语
                      世界语

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

                    • SparkandShine
                      SparkandShine

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

                      • 古古
                        古古

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

                        • boke112导航
                          boke112导航

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

                          • 腾蛙网
                            腾蛙网

                            试试看

                            • 菊

                              感谢分享

                            匿名

                            发表评论

                            匿名网友

                            拖动滑块以完成验证