WordPress - Split queried posts into rows
$query = new WP_Query(array(
'post_type' => 'post',
));
$posts_per_row = 2;
$post_counter = 0;
if( have_posts() ) :
while( $query->have_posts() ) :
$query->the_post();
if( ( ++$post_counter % $posts_per_row ) == 1 || $posts_per_row == 1 ) :
if( $post_counter > 1 ) :
echo '</div>';
endif;
echo '<div class="row">';
endif;
?>
<div>
<p>Your content</p>
</div>
<?php endwhile; ?>
</div>
<?php
endif;
wp_reset_postdata();