Fix 'count' in WP_Comment_Query
when using 'meta_query'.
Props heshiming, desaiuditd. Fixes #23369. git-svn-id: https://develop.svn.wordpress.org/trunk@30026 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
c429ba1bdd
commit
4482d000ba
@ -559,8 +559,11 @@ class WP_Comment_Query {
|
||||
$clauses = $this->meta_query->get_sql( 'comment', $wpdb->comments, 'comment_ID', $this );
|
||||
$join .= $clauses['join'];
|
||||
$where .= $clauses['where'];
|
||||
|
||||
if ( ! $this->query_vars['count'] ) {
|
||||
$groupby = "{$wpdb->comments}.comment_ID";
|
||||
}
|
||||
}
|
||||
|
||||
$date_query = $this->query_vars['date_query'];
|
||||
if ( ! empty( $date_query ) && is_array( $date_query ) ) {
|
||||
|
@ -613,4 +613,40 @@ class Tests_Comment_Query extends WP_UnitTestCase {
|
||||
|
||||
$this->assertNotContains( 'ORDER BY', $q->request );
|
||||
}
|
||||
|
||||
public function test_count() {
|
||||
$c1 = $this->factory->comment->create( array( 'comment_post_ID' => $this->post_id, 'user_id' => 7 ) );
|
||||
$c2 = $this->factory->comment->create( array( 'comment_post_ID' => $this->post_id, 'user_id' => 7 ) );
|
||||
|
||||
$q = new WP_Comment_Query();
|
||||
$found = $q->query( array(
|
||||
'count' => true,
|
||||
) );
|
||||
|
||||
$this->assertEquals( 2, $found );
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 23369
|
||||
*/
|
||||
public function test_count_with_meta_query() {
|
||||
$c1 = $this->factory->comment->create( array( 'comment_post_ID' => $this->post_id, 'user_id' => 7 ) );
|
||||
$c2 = $this->factory->comment->create( array( 'comment_post_ID' => $this->post_id, 'user_id' => 7 ) );
|
||||
$c3 = $this->factory->comment->create( array( 'comment_post_ID' => $this->post_id, 'user_id' => 7 ) );
|
||||
add_comment_meta( $c1, 'foo', 'bar' );
|
||||
add_comment_meta( $c3, 'foo', 'bar' );
|
||||
|
||||
$q = new WP_Comment_Query();
|
||||
$found = $q->query( array(
|
||||
'count' => true,
|
||||
'meta_query' => array(
|
||||
array(
|
||||
'key' => 'foo',
|
||||
'value' => 'bar',
|
||||
),
|
||||
),
|
||||
) );
|
||||
|
||||
$this->assertEquals( 2, $found );
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user