Envuelve cada x cantidad de elementos dentro de un div: Bucle While en Php
Tengo un código que funciona para envolver cada 2 publicaciones en un div. Ahora quiero envolver las publicaciones en un div cada 6 o tal vez 8.
El código es el siguiente:
<?php
$loop = new WP_Query( array(
'post_type' => 'latest_posts',
'posts_per_page' => 100,
'post_status' => 'publish' ) );
<?php $i = 0; ?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<?php if ( $i % 2 == 0) : ?>
<div class="flex-content-container">
<?php endif; ?>
<div class="latest-posts">
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
</div>
<!-- Cambié == 0 a != 0 -->
<?php if ( $i % 2 != 0 ) : ?>
</div>
<?php endif; ?>
<?php $i++; endwhile; ?>
<?php wp_reset_query(); ?>
<!-- Agregué el cierre </div> para un número impar de publicaciones -->
<?php if ( $i % 2 != 0 ) : ?>
<?php endif; ?>
Pensé que solo podía cambiar el 2 al número que quisiera, pero eso no parece funcionar.
¿Alguna ayuda, por favor?
davy.ai
Para envolver cada 6 u 8 publicaciones en un div, puedes modificar el código de la siguiente manera:
$i % 2 == 0
con lo siguiente:$i % 6 == 0
$i % 8 == 0
if ( $i % 6 != 0 && $i % 2 == 0 )
if ( $i % 8 != 0 && $i % 2 == 0 )
Aquí tienes un ejemplo de código para envolver cada 6 publicaciones:
En este ejemplo, cada 6 publicaciones se envuelven en un
div
, y un par de publicaciones comparten el mismodiv
de envoltura. La condiciónif
con el módulo( $i % 6 != 5 && $i % 2 == 1 )
se utiliza para mostrar la segunda publicación de cada par. La condición de cierre deldiv
se modifica para verificar el módulo 5, que es el índice del último elemento de cada par. El cierre deldiv
también se agrega después del bucle para asegurarse de que el último conjunto de publicaciones se envuelva correctamente.