Ticket #12668: 12668-comments-query.2.patch
File 12668-comments-query.2.patch, 1.6 KB (added by , 10 years ago) |
---|
-
src/wp-includes/comment.php
131 131 * @uses $wpdb 132 132 * 133 133 * @param int $post_id The ID of the post 134 * @param string $comment_type The type of comment to get 134 135 * @return array $comments The approved comments 135 136 */ 136 function get_approved_comments( $post_id) {137 function get_approved_comments( $post_id, $comment_type = '' ) { 137 138 global $wpdb; 138 return $wpdb->get_results($wpdb->prepare("SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d AND comment_approved = '1' ORDER BY comment_date", $post_id)); 139 140 $type = ""; 141 if( ! empty( $comment_type ) ) { 142 $type = " AND comment_type = '%s'"; 143 } 144 145 return $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d AND comment_approved = '1'$type ORDER BY comment_date", $post_id, $comment_type ) ); 139 146 } 140 147 141 148 /** … … 447 454 } elseif( 'pings' == $this->query_vars['type'] ) { 448 455 $where .= ' AND comment_type IN ("pingback", "trackback")'; 449 456 } elseif ( ! empty( $this->query_vars['type'] ) ) { 450 $where .= $wpdb->prepare( ' AND comment_type = %s', $this->query_vars['type'] ); 457 if ( is_array( $this->query_vars['type'] ) ) { 458 $where .= ' AND comment_type IN (' . implode( ',', $this->query_vars['type'] ) . ')'; 459 } elseif ( '' !== $this->query_vars['type'] ) { 460 $where .= $wpdb->prepare( ' AND comment_type = %d', $this->query_vars['type'] ); 461 } 451 462 } 452 463 453 464 if ( '' !== $this->query_vars['parent'] ) {