Как вывести произвольные типы записей с разным шаблоном?

Мучаюсь с проблемой вывода произвольных типов записей.

Выводит со счетчиком так:

<!-- Начинается петля -->

<?php $portfolio = new WP_Query( array( 'post_type' => 'portfolio', 'posts_per_page' => 24 ) ); ?>
<?php if ( have_posts() ) :
  $i = 1;
?>
<?php while ( $portfolio->have_posts() ) : $portfolio->the_post();

if ( in_array( $i, array( 3, 4 ), true ) ) {
	?>
				<div class="portfolio__item item_big">
				<?php the_post_thumbnail(); ?>
			</div>

	<?php
  } else {
	?>
			<div class="item_small">
				<div id="post-<?php the_ID(); ?>" class="portfolio__item">
				<?php the_post_thumbnail(); ?>
				</div>
			</div>
	<?php
  }

?>

<?php
$i++;
endwhile;
endif;
?>
<?php wp_reset_postdata(); ?>

<!-- Заканчивается петля -->

А нужно вывести так:
Т.е в диве item_small должны выводиться 2 поста

Заметки к вопросу:
mi13 1.2 года назад

Попробуйте прогнать в массив, а из массива стройть в общий див два дива и т.д.