根据评论和最新评论的数量显示帖子?

时间:2010-09-08 作者:Patrik

我想能够显示一个页面上的帖子列表,这取决于他们何时和有多少评论。类似于stackexchange上的情况。

更具体地说,我想:

评论最多的页面非常感谢您的帮助,提前感谢。

5 个回复
SO网友:Mild Fuzz
query_posts( array(\'orderby\' => \'comment_count\', \'order\'=>\'DESC\') )

This should do it.

SO网友:Mild Fuzz

$query = WP_Query;

foreach ($query[\'posts\'] as $post){
  $count = $post[\'comment_count\'];
  while (is_set($comment_sort[$count]){
   $count--;
  }    
  $comment_sort[$count]=$post[\'ID\'];
}

$sorted = ksort($comment_sort);
$sorted = array_reverse($sorted);
这将为您提供一个按注释计数递减顺序排列的帖子ID数组。

SO网友:danhgilmore

@Patrik-我有一个类似的问题:在WPMu安装中,在主博客上按帖子顺序显示最新的帖子。对我来说,最简单的解决方案是创建一个新表来保存新博客帖子的数据(新帖子通过插件插入),并在主页上查询该表。您也可以这样做,只需编辑SQL查询以基于大多数注释等返回。

SO网友:Rarst

最近发表评论的帖子:

$comments = get_comments( array(
    \'status\' => \'approve\',
    \'number\' => 10
) );

$include = array();

foreach ( $comments as $comment )
    $include[] = $comment->comment_post_ID;

query_posts( array(
    \'post__in\' => array_unique( $include )
) );

SO网友:Zohair Baloch

用于显示注释最多的帖子的代码段:

<?php 
$result = $wpdb->get_results("SELECT comment_count, ID, post_title FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , 10"); // NUMBER OF POSTS
foreach ($result as $topten) {
    $postid = $topten->ID;
    $title = $topten->post_title;
    $commentcount = $topten->comment_count;
    if ($commentcount != 0) {
?>

<li><a href="<?php echo get_permalink($postid); ?>"><?php echo $title ?></a></li>

<?php } } ?>

结束

相关推荐