<!-- Начинается петля -->
<?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 поста
...
} else {
?>
<div class="item_small">
<div id="post-<?php the_ID(); ?>" class="portfolio__item">
<?php the_post_thumbnail(); ?>
</div>
<?php $portfolio->the_post(); $i++; ?>
<div id="post-<?php the_ID(); ?>" class="portfolio__item">
<?php the_post_thumbnail(); ?>
</div>
</div>
<?php
}
...