Как в цикле get_posts() добавить разные классы блокам div

Есть массив с названиями классов.

$array = array("item-one", "item-two", "item-three", "item-four", "item-five");

Как их добавить блокам выводимым циклом get_posts()?

<div class="block__item item-one"> <div class="block__item item-two"> и так далее...

<?php
global $post;
$array = array("item-one", "item-two", "item-three", "item-four", "item-five");
$myPosts = get_posts([
    'numberposts' => 5,
]);
if ($myPosts) {
    foreach ($myPosts as $post) {
        setup_postdata($post);
        ?>
         <div class="block__item">
           <?php the_post_thumbnail(array(
               'class' => 'block__icon'
           )); ?>
         </div>
        <?php
    }
}
wp_reset_postdata();
?>

Ответы (2 шт):

Автор решения: Anton Mironov

Не знаю, что является результатом выполнения функции get_posts (не знаком с ВП). Но вижу, что скорее всего вы выводите 5 постов, при этом в массиве у вас 5 классов, тогда можно сделать так:

if ($myPosts) {
    $i = 0;
    foreach ($myPosts as $post) {
        setup_postdata($post);
        ?>
         <div class="block__item <?=$array[$i++]?>">
           <?php the_post_thumbnail(array(
               'class' => 'block__icon'
           )); ?>
         </div>
        <?php
    }
}
→ Ссылка
Автор решения: evgeni2306
 <div class="<?echo $className ?>">

Не знаю, что get_posts делает, но предположительно возвращает какой-то массив, предположительно длиной 5, как указано при вызове функции. Так что можно foreach на for заменить, и вместо $className $array[$i] вставить

→ Ссылка