Make WordPress Core

Changeset 32461


Ignore:
Timestamp:
05/08/2015 07:44:06 PM (11 years ago)
Author:
boonebgorges
Message:

Use table prefix for comment__in and comment__not_in SQL clauses of WP_Comment_Query.

The prefix prevents ambiguity when joining against other tables.

Props willgladstone.
Fixes #32081.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/comment.php

    r32364 r32461  
    697697                // Parse comment IDs for an IN clause.
    698698                if ( ! empty( $this->query_vars['comment__in'] ) ) {
    699                         $where[] = 'comment_ID IN ( ' . implode( ',', wp_parse_id_list( $this->query_vars['comment__in'] ) ) . ' )';
     699                        $where[] = "$wpdb->comments.comment_ID IN ( " . implode( ',', wp_parse_id_list( $this->query_vars['comment__in'] ) ) . ' )';
    700700                }
    701701
    702702                // Parse comment IDs for a NOT IN clause.
    703703                if ( ! empty( $this->query_vars['comment__not_in'] ) ) {
    704                         $where[] = 'comment_ID NOT IN ( ' . implode( ',', wp_parse_id_list( $this->query_vars['comment__not_in'] ) ) . ' )';
     704                        $where[] = "$wpdb->comments.comment_ID NOT IN ( " . implode( ',', wp_parse_id_list( $this->query_vars['comment__not_in'] ) ) . ' )';
    705705                }
    706706
  • trunk/tests/phpunit/tests/comment/query.php

    r31793 r32461  
    723723        }
    724724
     725        /**
     726         * @group 32081
     727         */
     728        public function test_meta_query_should_work_with_comment__in() {
     729                $comments = $this->factory->comment->create_many( 3 );
     730
     731                add_comment_meta( $comments[0], 'foo', 'jjj' );
     732                add_comment_meta( $comments[1], 'foo', 'zzz' );
     733                add_comment_meta( $comments[2], 'foo', 'jjj' );
     734
     735                $q = new WP_Comment_Query( array(
     736                        'comment__in' => array( $comments[1], $comments[2] ),
     737                        'meta_query' => array(
     738                                array(
     739                                        'key' => 'foo',
     740                                        'value' => 'jjj',
     741                                ),
     742                        ),
     743                        'fields' => 'ids',
     744                ) );
     745
     746                $this->assertEquals( array( $comments[2] ), $q->get_comments() );
     747        }
     748
     749        /**
     750         * @group 32081
     751         */
     752        public function test_meta_query_should_work_with_comment__not_in() {
     753                $comments = $this->factory->comment->create_many( 3 );
     754
     755                add_comment_meta( $comments[0], 'foo', 'jjj' );
     756                add_comment_meta( $comments[1], 'foo', 'zzz' );
     757                add_comment_meta( $comments[2], 'foo', 'jjj' );
     758
     759                $q = new WP_Comment_Query( array(
     760                        'comment__not_in' => array( $comments[1], $comments[2] ),
     761                        'meta_query' => array(
     762                                array(
     763                                        'key' => 'foo',
     764                                        'value' => 'jjj',
     765                                ),
     766                        ),
     767                        'fields' => 'ids',
     768                ) );
     769
     770                $this->assertEquals( array( $comments[0] ), $q->get_comments() );
     771        }
    725772
    726773        /**
Note: See TracChangeset for help on using the changeset viewer.