如果有备注,WP_QUERY SELECT

时间:2013-04-01 作者:Chris

我之前在这里提出并接受了一个类似的问题:wp_query and comment_parent - select only posts with top level comments

所以我尝试使用wp\\u query只选择有评论的帖子。我现在面临的问题是,作为高级搜索的一部分,我有许多过滤器,例如名称、位置(国家、地区)、标签等,并且在公认的答案中显示的方法中选择帖子ID变得越来越困难。有很多可能的搜索和选项组合。

理想情况下,我需要一种方法,在全球范围内一次性排除没有评论的帖子。

我希望有一些简单的好东西,比如:

 $args = array(
       \'post_type\' => \'films\',
       \'have_comments\' => true
    );
但我似乎找不到这样的东西。

我想可能是函数中的过滤器。php或以某种方式使用have\\u comments()?如果可以的话,我真的不想选择所有帖子并隐藏在have posts循环中,因为wp\\u查询中可能会返回数百行不需要的内容。

对不起,我是这方面的初学者,所以我真的不确定前进的方向。

1 个回复
最合适的回答,由SO网友:birgire 整理而成

您可以尝试以下操作:

add_filter( \'posts_where\', \'filter_where\' );
$query = new WP_Query($args);
remove_filter( \'posts_where\', \'filter_where\' );
在哪里

function filter_where( $where = \'\' ) {
    $where .= " AND comment_count > 0 ";
    return $where;
}
获取带有评论的帖子。

结束