芒果小站

  1. 全球最具业界良心的主机 - DigitalOcean

    毫无疑问,目前做得最好的主机供应商

    猛击这里查看

  2. 芒果小站目前使用的主机 - DigitalOcean

    客服响应快,随时退款,XEN 架构稳定

    猛击这里查看

  3. 最好的日本东京线路主机 - DigitalOcean

    可选弗里蒙特、达拉斯、亚特兰大、纽瓦克、伦敦、东京机房

    猛击这里查看

  • 1
  • 2
  • 3
切换到精简模式
11

WordPress 技巧,按评论获取热门文章列表

作者 芒果/分类 教程/发布于 2010-05-19 09:00

使用文章访问统计插件 WP-PostViews 即可实现热门文章的展示,但是类似可定制性不够强。例如循环前他、翻页阅读等等。

事实上 WordPress 提供的 query_posts() 方法允许按照评论数目进行文章排序,而且可以良好支持翻页,甚至是兼容 WP-PostNavi 插件。通常情况下,例如 index.php 模板中,主循环的基本格式为:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
// insert code here
<?php endwhile; else : endif; ?>

现在通过过滤机制让其按照评论数排序,则需要在主循环之前添加以下代码:

<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; query_posts('orderby=comment_count&paged='.$paged); ?>

标红的 orderby=comment_count 字段即为排序条件。WP-PostNavi 翻页测试顺利通过。当然也可以通过需要设置,排序参数的完整列表如下:

排序参数:

orderby=author – 按作者排序
orderby=date – 按发布时间排序
orderby=title – 按文章标题排序
orderby=modified – 按修改时间排序
orderby=menu_order 按菜单顺序排序,仅支持单页面
orderby=parent – 这个芒果也不是很清楚…
orderby=ID – 按文章 ID 排序
orderby=rand – 随机排序
orderby=meta_value – 通过自定义字段值排序,需要同时给定自定义字段 (meta_key)的名称
orderby=none – 无序排列,版本要求 2.8
orderby=comment_count – 按评论数排序,版本要求 2.9

其实很多功能 WordPress 原生都是支持的,并不需要通过 SQL 查询实现。

版权所有,转载请注明出处。
转载自 <a href="http://mangguo.org/wordpress-tip-order-popular-posts-by-comment-count/" title="WordPress 技巧,按评论获取热门文章列表" rel="bookmark">WordPress 技巧,按评论获取热门文章列表 | 芒果小站</a>
如果喜欢这篇文章,欢迎订阅芒果小站以获得最新内容。

已经有 11 条群众意见

  1. ?
    Tweets that mention WordPress 技巧,按评论获取热门文章列表 | 芒果 -- Topsy.com /2010-05-19 15:27

    […] This post was mentioned on Twitter by 芒果. 芒果 said: WordPress 技巧,按评论获取热门文章列表: 使用文章访问统计插件 WP-PostViews 即可实现热门文章的展示,但是类似可定制性不够强。例如循环前他、翻页阅读等等。 事实上 WordPress 提供的 query_p… http://bit.ly/9ELRrI […] 回应

    #1
  2. 万戈 /2010-05-20 13:31

    可以排序的参数不少嘛。 回应

    #2
  3. 最后的风筝 /2010-07-04 11:12

    只显示 10 条,能再多点吗?怎么改呢? 回应

    #3
  4. 芒果最后的风筝/2010-07-04 12:12

    条目的数量默认是按照后台设置的每页数目显示的,如果要单独设置,可以详细参考:
    http://mangguo.org/wordpress-main-loop-exclude-specific-category/ 回应

    #4
  5. 酷剑万戈/2010-07-14 15:58

    哈哈,博客不错,太强了。 回应

    #5
  6. 酷剑最后的风筝/2010-07-14 15:59

    你的回应是怎么弄的嘛。我想知道? 回应

    #6
  7. 最后的风筝酷剑/2010-07-14 16:01

    可以加我 QQ 哦,呵呵 1026811 回应

    #7
  8. 酷剑芒果/2010-10-25 23:02

    芒果,我照着你的方法做了,但是没有弄好,循环好像不对的,新建了一个页面,打开这个页面时,只出现了两篇文章,第一篇就是第一篇、然后以后的都是第二篇的文章,循环下去的都是第二篇文章的。为什么呢?可以把你的源代码发给我吗?或者指教一下我。谢谢。 回应

    #8
  9. 博易科技 /2011-03-13 07:39

    我也去试试 回应

    #9
  10. Adolph /2011-03-25 10:14

    想弄个本周热门(按本周的阅读数排序),本月热评(按本月评论数排序),请问如何弄?我QQ95347000,其他的可以扩展。 回应

    #10
  11. ?
    获取评论最多日志的不成功,请教高人。 - WordPress - 开发者 /2013-06-18 19:49

    […] 按评论获取 http://mangguo.org/wordpress … s-by-comment-count/ 回复: 代码应该是没问题的 但不知道为什么上传之后就就没法显示 ….. […] 回应

    #11

下面我简单说几句