评论最多的帖子应该是博客中的第一篇帖子

时间:2014-07-15 作者:Alex

WordPress默认设置为,最近的帖子是博客的第一篇帖子。

但是,我需要“评论最多的帖子应该是博客中的第一篇帖子”。(类别页面和主页)

2 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

亚历克斯,抄本是你的朋友。您有一个参数orderby 您可以通过以下方式设置订单帖子comment_count. 您可以获得接受的参数的完整列表orderby 在codex页面中,关于WP_Query

不需要任何自定义查询,只需使用操作挂钩更改主查询即可pre_get_posts. 要在主页和分类页上按评论数排序帖子,可以使用conditional tags is_homeis_category 分别针对主页和类别页面。

add_action ( \'pre_get_posts\', function ( $query ) 
{
    if (    !is_admin()
         && $query->is_main_query()
         && (    $query->is_home() 
              || $query->is_category()
            )
    ) {
        $query->set( \'orderby\', \'comment_count\' );
    }
});

EDIT

此代码应放在函数中。php或与函数相关的任何文件。php,ie,用于呈现函数等功能的任何文件。php有

SO网友:Bindiya Patoliya

WP Query自2.9以来有一个comment\\u count参数。

您可以使用\'orderby\' => \'comment_count\' 在您的查询中使用其他参数,这些参数按帖子的评论数列出

$args=array(
  .......
  \'orderby\' => \'comment_count\',
  .....    
);

$my_query = new WP_Query($args);

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post