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

WordPress8324.7K阅读模式

另外,HotNews主题想不用插件统计阅读次数并同时实现近期热门文章调用,需要将下面代码加加到functions模版上述代码的前面:

  1. ### WP-PostViews   
  2. if(!function_exists('get_most_viewed')) {   
  3.     function get_most_viewed($mode = ''$limit = 10, $chars = 0, $display = true) {   
  4.         global $wpdb;   
  5.         $views_options = get_option('views_options');   
  6.         $where = '';   
  7.         $temp = '';   
  8.         $output = '';   
  9.         if(!empty($mode) && $mode != 'both') {   
  10.             $where = "post_type = '$mode'";   
  11.         } else {   
  12.             $where = '1=1';   
  13.         }   
  14.         $most_viewed = $wpdb->get_results("SELECT DISTINCT $wpdb->posts.*, (meta_value+0) AS views FROM $wpdb->posts LEFT JOIN $wpdb->postmeta ON $wpdb->postmeta.post_id = $wpdb->posts.ID WHERE post_date < '".current_time('mysql')."' AND $where AND post_status = 'publish' AND meta_key = 'views' AND post_password = '' ORDER BY views DESC LIMIT $limit");   
  15.         if($most_viewed) {   
  16.             foreach ($most_viewed as $post) {   
  17.                 $post_views = intval($post->views);   
  18.                 $post_title = get_the_title($post);   
  19.                 if($chars > 0) {   
  20.                     $post_title = snippet_text($post_title$chars);   
  21.                 }   
  22.   
  23.                 $temp = stripslashes($views_options['most_viewed_template']);   
  24.                 $temp = str_replace("%VIEW_COUNT%", number_format_i18n($post_views), $temp);   
  25.                 $temp = str_replace("%POST_TITLE%"$post_title$temp);   
  26.                 $temp = str_replace("%POST_EXCERPT%"$post_excerpt$temp);   
  27.                 $temp = str_replace("%POST_CONTENT%"$post->post_content, $temp);   
  28.                 $temp = str_replace("%POST_URL%", get_permalink($post), $temp);   
  29.                 $output .= $temp;   
  30.             }              
  31.         } else {   
  32.             $output = '<li>'.__('N/A', 'wp-postviews').'</li>'."\n";   
  33.         }   
  34.         if($display) {   
  35.             echo $output;   
  36.         } else {   
  37.             return $output;   
  38.         }   
  39.     }   
  40. }   
  41.   
  42. ### 按时间获得最受欢迎文章   
  43. function get_timespan_most_viewed($mode = ''$limit = 10, $days = 7, $display = true) {   
  44.     global $wpdb$post;       
  45.     $limit_date = current_time('timestamp') - ($days*86400);    
  46.     $limit_date = date("Y-m-d H:i:s",$limit_date);     
  47.     $where = '';   
  48.     $temp = '';   
  49.     if(!empty($mode) && $mode != 'both') {   
  50.         $where = "post_type = '$mode'";   
  51.     } else {   
  52.         $where = '1=1';   
  53.     }   
  54.     $most_viewed = $wpdb->get_results("SELECT $wpdb->posts.*, (meta_value+0) AS views FROM $wpdb->posts LEFT JOIN $wpdb->postmeta ON $wpdb->postmeta.post_id = $wpdb->posts.ID WHERE post_date < '".current_time('mysql')."' AND post_date > '".$limit_date."' AND $where AND post_status = 'publish' AND meta_key = 'views' AND post_password = '' ORDER  BY views DESC LIMIT $limit");   
  55.     if($most_viewed) {   
  56.         foreach ($most_viewed as $post) {   
  57.             $post_title = get_the_title();   
  58.             $post_views = intval($post->views);   
  59.             $post_views = number_format($post_views);   
  60.             $temp .= "<li><a href=\"".get_permalink()."\">$post_title</a>".__('', 'wp-postviews')."</li>";   
  61.         }   
  62.     } else {   
  63.         $temp = '<li>'.__('N/A', 'wp-postviews').'</li>'."\n";   
  64.     }   
  65.     if($display) {   
  66.         echo $temp;   
  67.     } else {   
  68.         return $temp;   
  69.     }   
  70. }  

本站文章大部分始于原创,用于个人学习记录,可能对您有所帮助,仅供参考!

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:

                                                                                                                                                    拖动滑块以完成验证