@gruzilarus

Как сделать нестандартный цикл вывода постов Wordpress?

Добрый день всем.

Вопрос для знатоков PHP должен быть элементарный, мне же на него ответа не найти.

На сайте нужно реализовать нестандартный вывод постов. Не по вертикале, а по горизонтали. Посты(.post) идут колонками (.content_one_fourth), по 4 поста в каждой.

<div class="content_one_fourth">
	<?php if ($posts) : ?>
	<?php foreach ($posts as $post) : setup_postdata ($post); ?>
		<div class="post">
		      <? $img_post=wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'thumbnail-post');?>
		      <div class="post_img" style="background: url(<?=$img_post[0]?>);"></div>
		      <a class="album_title" href="<?php the_permalink();?>"><?php the_title(); ?></a>
		      <p class="artist_name"><?php the_field('album_artist'); ?></p>
		      <p class="album_year"><?php the_field('album_year'); ?></p>
		 </div>
		<?php endforeach; ?>
		<?php endif; ?>							
</div>


Дело в том, что не совсем понятно, как сделать такой цикл Wordpress, чтобы при создании более 4 постов, в цикле появлялась новая колонка (.content_one_fourth), и в ней этот пост и последующие три?
  • Вопрос задан
  • 3392 просмотра
Решения вопроса 1
$i = 0;
foreach( $posts as $post ) {
// в каждом 1-м посту каждой четверки открываем див
if ($i % 4 === 0) {
echo '<div class="content_one_fourth">';
}

// остальная логика

// в каждом 4-м посту каждой четверки закрываем див
if ($i % 4 === 3) {
echo '</div">';
}
$i++;
}
// если в последней четверке не 4 поста, то див не закрыт. закрываем его
if ($i % 4 !== 0) {
echo '</div">';
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы