Una forma de evitar errores al cerrar etiquetas con el if y el while mezclado con HTML es la siguiente.
<?php if(have_posts()): ?>
<?php while (have_posts()): ?>
<?php the_post(); ?>
<div class="col-4 text-center-single-archive">
<a href="<?php the_permalink(); ?>">
<?php the_post_thumbnail('large'); ?>
<h4>
<?php the_title() ?>
</h4>
</a>
</div>
<?php endwhile ?>
<?php endif; ?>
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?