好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

WordPress 实现文章评论排行榜

用到了WordPress功能函数Query_post()的一种高级用法,就是获取本周或当月或最近30天评论最多的一定数量的日志。

使用方法是将以下各段代码放置到需要显示最热日志的主题模板文件中适当的位置即可,如边栏(sidebar.php)。

所有时间内评论最多日志

< ul >   <? php  query_posts(' post post_type =post& posts_per_page = 10 & orderby = comment_count & order = DESC '); while (have_posts()): the_post();  ?>   < li > < a   href = "<?php the_permalink(); ?>"   title = "<?php printf(esc_attr('Permalink to %s'), the_title_attribute('echo=0')); ?>"   rel = "bookmark" > <? php  the_title();  ?> </ a > </ li >   <? php  endwhile; wp_reset_query();  ?>   </ ul >  

这段代码默认显示前10篇评论最多的日志,数量10可修改为其它数值。
本周评论最多日志
要显示本周评论最多日志,我们就可以使用如下的代码,也就是在前面代码的基础上再添加一些额外的参数来实现:

< ul >   <? php  $ week  =  date ('W'); $ year  =  date ('Y'); query_posts(' post post_type =post& posts_per_page = 10 & orderby = comment_count & order = DESC & year = ' . $year . ' & w =' . $week); while (have_posts()): the_post();  ?>   < li > < a   href = "<?php the_permalink(); ?>"   title = "<?php printf(esc_attr('Permalink to %s'), the_title_attribute('echo=0')); ?>"   rel = "bookmark" > <? php  the_title();  ?> </ a > </ li >   <? php  endwhile; wp_reset_query();  ?>   </ ul >  

最近30天评论最多日志

< ul >   <? php  function filter_where($ where  =  '' ) { //posts in the last 30 days $where  . =  " AND post_date > '"  . date('Y-m-d', strtotime('-30 days')) . "'"; return $where; } add_filter('posts_where', 'filter_where'); query_posts(' post post_type =post& posts_per_page = 10 & orderby = comment_count & order = DESC '); while (have_posts()): the_post();  ?>   < li > < a   href = "<?php the_permalink(); ?>"   title = "<?php printf(esc_attr('Permalink to %s'), the_title_attribute('echo=0')); ?>"   rel = "bookmark" > <? php  the_title();  ?> </ a > </ li >   <? php  endwhile; wp_reset_query();  ?>   </ ul >  

[30 days]可以根据需要修改为其他值(如[1 year], [7 days], 等)。

本月评论最多日志
类似地,显示当月评论最多的日志,可以使用下面的代码:

< ul >   <? php  $ month  =  date ('m'); $ year  =  date ('Y'); query_posts(' post post_type =post& posts_per_page = 10 & orderby = comment_count & order = DESC & year = ' . $year . ' & monthnum =' . $month); while (have_posts()): the_post();  ?>   < li > < a   href = "<?php the_permalink(); ?>"   title = "<?php printf(esc_attr('Permalink to %s'), the_title_attribute('echo=0')); ?>"   rel = "bookmark" > <? php  the_title();  ?> </ a > </ li >   <? php  endwhile; wp_reset_query();  ?>   </ ul >  
欢迎补充说明~

查看更多关于WordPress 实现文章评论排行榜的详细内容...

  阅读:44次