It looks like `WP_Comment_Query()` only supports a single post type. You can adjust it, by using the `comments_clauses` filter. Try for example: $defaults = array( 'number' => 5, 'post_type' => array('post','authors','movies'), ); add_filter( 'comments_clauses', 'wpse_121051', 10, 2 ); $comments = get_comments($defaults) where /** * Support for multiple post types for comments * * @param array $clauses * @param object $c WP_Comment_Query * @return array $clauses */ function wpse_121051( $clauses, $c ) { global $wpdb; // remove the comments_clauses filter, we don't need it now remove_filter( current_filter(), __FUNCTION__ ); // add the multiple post type support if( count( $c->query_vars['post_type'] ) > 0 ) { $from = "$wpdb->posts.post_type = '" . $c->query_vars['post_type'][0] . "'"; $to = "$wpdb->posts.post_type IN ( '" . join( "', '", $c->query_vars['post_type'] ) . "' ) "; $clauses['where'] = str_replace( $from, $to, $clauses['where'] ); } return $clauses; }