Index: src/wp-includes/class-wp-comment-query.php
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/wp-includes/class-wp-comment-query.php	(revision 36969)
+++ src/wp-includes/class-wp-comment-query.php	(revision )
@@ -287,6 +287,8 @@
 			'post_parent' => '',
 			'post_status' => '',
 			'post_type' => '',
+			'post_type__in' => get_post_types(),
+			'post_type__not_in' => '',
 			'status' => 'all',
 			'type' => '',
 			'type__in' => '',
@@ -761,7 +763,7 @@
 
 		// If any post-related query vars are passed, join the posts table.
 		$join_posts_table = false;
-		$plucked = wp_array_slice_assoc( $this->query_vars, array( 'post_author', 'post_name', 'post_parent' ) );
+		$plucked = wp_array_slice_assoc( $this->query_vars, array( 'post_author', 'post_name', 'post_parent', 'post_type__in', 'post_type__not_in' ) );
 		$post_fields = array_filter( $plucked );
 
 		if ( ! empty( $post_fields ) ) {
@@ -769,7 +771,21 @@
 			foreach ( $post_fields as $field_name => $field_value ) {
 				// $field_value may be an array.
 				$esses = array_fill( 0, count( (array) $field_value ), '%s' );
+
+				/*
+				 * Introduce a switch case for the field names to handle special cases where the $field_name does
+				 * not match the actual column name
+				 */
+				switch( $field_name ) {
+					case 'post_type__in':
+						$this->sql_clauses['where'][ $field_name ] = $wpdb->prepare( " {$wpdb->posts}.post_type IN (" . implode( ',', $esses ) . ')', $field_value );
+						break;
+					case 'post_type__not_in':
+						$this->sql_clauses['where'][ $field_name ] = $wpdb->prepare( " {$wpdb->posts}.post_type NOT IN (" . implode( ',', $esses ) . ')', $field_value );
+						break;
+					default:
-				$this->sql_clauses['where'][ $field_name ] = $wpdb->prepare( " {$wpdb->posts}.{$field_name} IN (" . implode( ',', $esses ) . ')', $field_value );
+						$this->sql_clauses['where'][ $field_name ] = $wpdb->prepare( " {$wpdb->posts}.{$field_name} IN (" . implode( ',', $esses ) . ')', $field_value );
+				}
 			}
 		}
 
