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

一般为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
    • 鸟更知
      鸟更知 0

      WP界有鸟哥,正如音乐界有春哥
      祝大神鸟哥万事顺利,事业也成功

      • 我运动网
        我运动网 1

        鸟哥你好,网站更改固定链接之后,原来的连接打不开了,这怎么解决呢?

        • 博润
          博润 5

          我觉得还是用插件简单点。。。修改代码啰嗦啊。。哈哈。。。

          • Teddysun
            Teddysun 2

            能用代码实现的,尽量用代码——这事儿可控。
            少用插件是好事。

            • 萨龙龙
              萨龙龙 4

              第一段代码很早就用了,也写了一篇非插件实现文章浏览数的文章!

              • mengzi
                mengzi 4

                鸟哥 什么时候出新版啊,这个会不会集成到新版里面

                • 常阳时光
                  常阳时光 2

                  收藏mark~

                  • mayaui
                    mayaui 1

                    鸟哥:
                    http://www.wopus.org/ 首页 是怎么调用 themes.wopus.org 里面的文章的啊???

                    谢谢!

                    .[img]http://m2.img.libdd.com/farm5/2013/0315/15/BBF2C4E1235DBD8614ABA89C9AE1EC80E7C7024C916A6_385_306.JPEG[/img]

                      • 知更鸟
                        知更鸟

                        @ mayaui WP可以能过使用RSS功能调用其它站点的文章
                        不过wopus.org 是通过修改WP程序文件和使用特殊的主题模版实现的

                          • mayaui
                            mayaui 1

                            @ 知更鸟 大哥可以出个教程么,我估计会有很多人需求的,网上也找不到类似的说明;
                            感激啊!!

                            • 牧风
                              牧风 2

                              @ 知更鸟 给主题输出个jsonp,然后用js跨域调用, 速度远胜rss

                          • nelist
                            nelist 3

                            我想问下你的主题能修改吗 修改了热门文章就不知道怎么调用了

                              • 知更鸟
                                知更鸟

                                @ nelist 可以
                                将此文的代码同时加上
                                http://zmingcx.com/hotnews-wp-postviews-bug.html

                                  • nelist
                                    nelist 3

                                    @ 知更鸟 没成功 修改了 近期热门还是不会调出 本地 和服务器都测试了 还是用插件

                                      • 知更鸟
                                        知更鸟

                                        @ nelist 在本文后面添加了关于HotNews主题的

                                          • nelist
                                            nelist 3

                                            @ 知更鸟 多谢鸟哥 试了两次好了 第一次顺序不对 用代码后首页和后台就看不见浏览次数了 只能在文章页看见 少了个插件好
                                            大家先停用插件在修改代码 要不会出错

                                    • 李小泡
                                      李小泡 8

                                      这个倒是挺不错的,想试试看

                                      • 牧风
                                        牧风 2

                                        方法不错

                                        • 牧风
                                          牧风 2

                                          [img]http://ww3.sinaimg.cn/large/6115ac8ftw1e2sk2y27epj.jpg[/img] 这是bug?

                                          另外直接插入图片后 “留言是种美德,写点什么…” 这句话还在, bug2?

                                          • 牧风
                                            牧风 2

                                            BUG1: http://ww3.sinaimg.cn/large/6115ac8ftw1e2sk2y27epj.jpg
                                            BUG2: 直接插入图片后 “留言是种美德,写点什么…” 这句话还在

                                            • Conners
                                              Conners 3

                                              天天盼着新主题啊…年前到现在

                                              • Sam
                                                Sam 0

                                                想找你设计修改一个WP主题,能联系我吗?

                                                • Hogan
                                                  Hogan 1

                                                  感谢鸟哥的主题!鸟哥帮忙看下评论框,为什么评论先添加个表情,后面会默认填充“留言是种美德,写点什么…”;而评论先输入文字则不会?谢谢!

                                                  • 两天
                                                    两天 6

                                                    下次更新主题直接集成吧?

                                                    • 色弱网
                                                      色弱网 0

                                                      更喜欢用随机的文章查看数 这样如果是新用户进来 内容不错的话更容易让他沉淀下来~

                                                      • 创意发明
                                                        创意发明 0

                                                        一直想找一个这样的办法,学习了 。不想用插件

                                                        • 伊犁的秋天
                                                          伊犁的秋天 1

                                                          问一下鸟哥,为什么你的网站的响应时间那么短呢,是由于服务器的原因,还是因为鸟哥优化了自己的网站了。

                                                          • Allan
                                                            Allan 1

                                                            不错,收藏了

                                                            • http://www.yfyulc.com/
                                                              http://www.yfyulc.com/ 1

                                                              技术宅,表示小白还是默默掩泪用插件吧~

                                                              • 永恒之塔
                                                                永恒之塔 2

                                                                真的可以这样实现吗?试试看

                                                                • mengzi
                                                                  mengzi 4

                                                                  不知道鸟哥什么时候出新主题,或者是升级现有的主题,想题一点小建议。现有主题顶部热点文章只有自定义,和显示最新文章两个方案。建议增加一个随机显示的功能,不知道是否可以实现,希望鸟哥能够采纳

                                                                  • 小KI
                                                                    小KI 1

                                                                    这个很好~~~ 收了

                                                                    • 苏苏网赚博客
                                                                      苏苏网赚博客 2

                                                                      等下就去实践看看可行不

                                                                      • 美文欣赏
                                                                        美文欣赏 2

                                                                        博主你好,最近又遇上一个问题,百撕不得其姐。

                                                                        请问,如何将本模板CMS模式下的首页图片轮播和热点推荐,插入到blog模式下,实现CMS+BLOG的混合排版。

                                                                        我试着直接复制黏贴过来,但是都失败了,请指点一下。

                                                                          • 知更鸟
                                                                            知更鸟

                                                                            @ 美文欣赏 http://zmingcx.com/slide-the-focus-of-the-cms-home-page-layout-ported-to-blog.html

                                                                          • agods
                                                                            agods 1

                                                                            代码试用了,是在本地wp试用的,但是只显示数字,不是类似“已阅读xx”的形式;能否改进一下,或者我自己再在此代码的基础上加点什么?就行了?
                                                                            希望回复
                                                                            感谢提供分享!

                                                                            • agods
                                                                              agods 1

                                                                              你看这样的:
                                                                              [img]http://http://hanchineseblog.com/wordpress/wp-content/uploads/2013/04/未命名.jpg[/img]

                                                                              • 胡社总
                                                                                胡社总 3

                                                                                你好请问www.her123.com 瀑布流缩略图是如何隐藏文章标题的。我的上下都出现

                                                                                • DaaPoo
                                                                                  DaaPoo 0

                                                                                  不错,试试看

                                                                                  • 翩翩飞舞
                                                                                    翩翩飞舞 1

                                                                                    wordpress还是少用点插件的好啊,支持非插件实现的代码效果

                                                                                    • 暮夏
                                                                                      暮夏 4

                                                                                      能不用插件尽量不用插件,谢谢鸟哥分享

                                                                                      • 复利大王
                                                                                        复利大王 3

                                                                                        鸟哥,今天发现了一个把你主题改的最好的一个网站:vmovier.com 是你做的么?瀑布流+鼠标分页。

                                                                                        • w3c潮流前端网
                                                                                          w3c潮流前端网 0

                                                                                          来转转

                                                                                          • Conners
                                                                                            Conners 3

                                                                                            啊啊啊啊……..新主题在哪

                                                                                            • Junyi
                                                                                              Junyi 0

                                                                                              404页面没有$post变量,所以代码二中下面两行是有问题的:
                                                                                              global $post;
                                                                                              $post_id = $post -> ID;

                                                                                              • 公子
                                                                                                公子 0

                                                                                                不知道为什么,在使用非插件统计浏览数的时候,开启Hyper cache或者wp-super-cache后,浏览次数就不变了!

                                                                                                • 永恒之塔
                                                                                                  永恒之塔 2

                                                                                                  这个真的可以实现吗?试了好几个都不行啊。

                                                                                                  • 老罗
                                                                                                    老罗 0

                                                                                                    正好可以用,谢谢了!

                                                                                                    • dmj
                                                                                                      dmj 3

                                                                                                      好东西!

                                                                                                      • Karl
                                                                                                        Karl 1

                                                                                                        这个跟super-cache类似的缓存插件冲突吗?

                                                                                                        • mengzi
                                                                                                          mengzi 4

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

                                                                                                          1. ID); ?> views

                                                                                                          这个适当位置是在哪边 啊

                                                                                                          • 成长的企鹅
                                                                                                            成长的企鹅 2

                                                                                                            请问你这篇文章中的代码高亮是怎么设置的?是自己修改的代码还是使用的插件?

                                                                                                            • 成长的企鹅
                                                                                                              成长的企鹅 2

                                                                                                              为什么我的不成功啊?已更新single.php文件页面就显示出错,文章变成只有title没有内容了。

                                                                                                                • 成长的企鹅
                                                                                                                  成长的企鹅 2

                                                                                                                  @ 成长的企鹅 大家可以发个修改之后的single.php让我参考参考吗?好像single.php的修改有问题。谢谢大家了。

                                                                                                                • 诸葛小觉
                                                                                                                  诸葛小觉 1

                                                                                                                  既然有用“一、二、三”来进行分段,那就没必要再添加“接下来、最后”之类的词了吧

                                                                                                                  • 明凯博客
                                                                                                                    明凯博客 1

                                                                                                                    鸟哥,我想问一下阅读次数保存在那里的。在数据库没有找到啊。

                                                                                                                    • 疯来愚去
                                                                                                                      疯来愚去 1

                                                                                                                      怎么实现随机查看次数并按实际正常递增??

                                                                                                                      • 半白
                                                                                                                        半白 0

                                                                                                                        能不能改进一下,加个缓存或IP地址判断什么的,不然每刷新一次就+1感觉这样不太好

                                                                                                                          • 知更鸟
                                                                                                                            知更鸟

                                                                                                                            @ 半白 国人专用的插件功能,很少看到老外装这玩意,本来就是为了满足虚荣心,多加点有什么不好

                                                                                                                          • chonghua
                                                                                                                            chonghua 1

                                                                                                                            后台无法统计啊

                                                                                                                            • 网赚网
                                                                                                                              网赚网 1

                                                                                                                              学习了,有帮助

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

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

                                                                                                                                • 啊
                                                                                                                                  0

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

                                                                                                                                  • 执念
                                                                                                                                    执念 1

                                                                                                                                    用wp_postviwes可以吗

                                                                                                                                    • 执念
                                                                                                                                      执念 1

                                                                                                                                      效果相同吗

                                                                                                                                      • dingding
                                                                                                                                        dingding 1

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

                                                                                                                                        • 世界语
                                                                                                                                          世界语 1

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

                                                                                                                                            • 世界语
                                                                                                                                              世界语 1

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

                                                                                                                                            • SparkandShine
                                                                                                                                              SparkandShine 0

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

                                                                                                                                              • 古古
                                                                                                                                                古古 1

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

                                                                                                                                                • boke112导航
                                                                                                                                                  boke112导航 4

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

                                                                                                                                                  • 腾蛙网
                                                                                                                                                    腾蛙网 4

                                                                                                                                                    试试看

                                                                                                                                                    • 菊
                                                                                                                                                      4

                                                                                                                                                      感谢分享

                                                                                                                                                    匿名

                                                                                                                                                    发表评论

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

                                                                                                                                                    拖动滑块以完成验证