SO网友:Paul G.
我有点不清楚你到底在寻找什么样的最终数据。你说的是;数组形式;,但这还不够具体。
因此,根据您的代码片段,此代码将为您提供一个unique 评论者用户ID。
代码本质上与您的代码相同,但我将几个部分组合在一起,因为它们不需要是自己单独的PHP语句——它们可以直接放入注释查询中。
$cq = new \\WP_Comment_Query();
$comments = $cq->query(
array(
\'post_id\' => get_the_ID(),
\'status\' => \'approve\',
\'author__in\' => get_users(
array(
\'role__in\' => [ \'author\', \'subscriber\' ],
\'fields\' => \'ID\'
)
)
)
);
$all_comment_user_ids = array_map( function ( $comment ) {
return $comment[ \'user_id\' ];
}, $comments );
$total_comments = count( $comments );
$unique_commenters = array_unique( $all_comment_user_ids );
$total_unique_commenters = count( $unique_commenters );
您的查询本身很好。。。您只需对结果进行后期处理。
在array_map
检查每个注释结果并拉出user_id
并创建一个仅包含用户ID的新数组然后我们使用array_unique
将数组减少为唯一值