Show only posts which can be commented
Because comment_status is not a built-in query argument – but you can easily implement it: function wpse_214323_query_by_comment_status( $where, $wp_query ) { global $wpdb; if ( ! empty( $wp_query->query_vars[‘comment_status’] ) ) { $status = $wp_query->query_vars[‘comment_status’]; if ( $status !== ‘open’ ) $status=”closed”; $where .= ” AND $wpdb->posts.comment_status=”$status””; } return $where; } add_filter( ‘posts_where’, ‘wpse_214323_query_by_comment_status’, 10, 2 … Read more