@Warlynn

Как добавить отдельные классы для каждого объекта в цикле while?

Есть задача сделать такую сетку для вывода постов в WordPress:
621bcf97502c8142841142.jpeg

На текущий момент удалось это реализовать объединив классы в массив и их присвоению согласно порядку:

<?php if ($custom_query->have_posts()):
    $i = 0;
    while ($custom_query->have_posts()):
        $custom_query->the_post(); ?>
               <?php $classes = array(
            'block_small',
            'block_medium',
            'block_large',
            'block_small',
            'block_small'
        ); ?>
               <div class="<?php echo $classes[$i] ?>"></div>
					<?php
        $i++;
    endwhile;
endif;
wp_reset_postdata();
?>


Но после того, как цикл выдаст первые пять постов, то следующим постам данные классы уже не присваиваются.

Каким образом можно зациклить присваивание классов постам в том порядке, который указан в массиве?
  • Вопрос задан
  • 97 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Vic87
Конечно, не присваиваются. $classes[$i] для $i > 4 у вас не определены. Ессно, что класс будет пустым.

Не думали пойти другим путем, без заморотов с присвоением класса каждому посту? Например, используя псевдокласс :nth-child и через него реализовать особенности верстки. Тогда вывод постов можете делать без всякого гимора, обычным порядком.
Ответ написан
Комментировать
delphinpro
@delphinpro
frontend developer
Зачем такие сложности?

Ответ написан
Комментировать
Ваш ответ на вопрос

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

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