Make WordPress Core

Ticket #12668: 12668-3.patch

File 12668-3.patch, 2.0 KB (added by mordauk, 10 years ago)
  • src/wp-admin/includes/class-wp-comments-list-table.php

     
    109109                        'orderby' => $orderby,
    110110                        'order' => $order,
    111111                        'post_type' => $post_type,
     112                        'type' => array( 'pingback', 'tracback', 'comment' )
    112113                );
    113114
    114115                $_comments = get_comments( $args );
  • src/wp-includes/comment.php

     
    131131 * @uses $wpdb
    132132 *
    133133 * @param int $post_id The ID of the post
     134 * @param string $comment_type The type of comment to get
    134135 * @return array $comments The approved comments
    135136 */
    136 function get_approved_comments($post_id) {
     137function get_approved_comments( $post_id, $comment_type = '' ) {
    137138        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 ) );
    139146}
    140147
    141148/**
     
    447454                } elseif( 'pings' == $this->query_vars['type'] ) {
    448455                        $where .= ' AND comment_type IN ("pingback", "trackback")';
    449456                } elseif ( ! empty( $this->query_vars['type'] ) ) {
    450                         $where .= $wpdb->prepare( ' AND comment_type = %s', $this->query_vars['type'] );
     457
     458                        if( is_array( $this->query_vars['type'] ) ) {
     459
     460                                $where .= ' AND comment_type IN ("' . implode( '","', $this->query_vars['type'] ) . ',","")';
     461
     462                        } else {
     463
     464                                $where .= $wpdb->prepare( ' AND comment_type = %s', $this->query_vars['type'] );
     465                       
     466                        }
    451467                }
    452468
    453469                if ( '' !== $this->query_vars['parent'] ) {