Подскажите как в WP вывести посты и к добавить класс ко 2 и3?

<?php
                        // параметры по умолчанию
                        $args = array(
                            'numberposts' => 3,
                            'category'    => 5,
                            'orderby'     => 'date',
                            'order'       => 'ASC',
                            'post_type'   => 'post',
                            'suppress_filters' => true, // подавление работы фильтров изменения SQL запроса
                        );
                        
                        $posts = get_posts( $args );
                        
                        foreach($posts as $post){ setup_postdata($post);
                            ?>
                            <?php the_post_thumbnail();?>
                            
                                
                                                        <?php
                        }
                        
                        wp_reset_postdata(); // сброс
                        ?>
                  

**что бы структура была вот такая

<div class="page__item" data-da=".c, 767.8">
                    
                    <img src="<?php bloginfo( 'template_url' );?>/assets/img/14.jpg" alt="Image" />
                    <img src="<?php bloginfo( 'template_url' );?>/assets/img/15.jpg" alt="Image" class="anim01" />
                    <img src="<?php bloginfo( 'template_url' );?>/assets/img/16.jpg" alt="Image" class="anim01" />
                    <img src="<?php bloginfo( 'template_url' );?>/assets/img/17.jpg" alt="Image" class="anim02" />
                    <img src="<?php bloginfo( 'template_url' );?>/assets/img/18.jpg" alt="Image" class="anim02" />
                    <img src="<?php bloginfo( 'template_url' );?>/assets/img/19.jpg" alt="Image" />
                  </div>

**


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

Автор решения: Danila

Во-первых, если Вы хотите вывести 6 картинок, то 'numberposts' должен быть 6, а не 3.

Во-вторых, картинки лучше выводить тегом img с добавлением в src пути к файлу:

<img src="<?php the_post_thumbnail_url(); ?>" alt="">

Во-третьих, для присвоения класса отдельным картинкам нужно ввести переменную-счётчик, которая при каждой итерации будет увеличиваться на 1, и проверять, какой элемент идёт по счёту. Если 2-й и 3-й - добавляем картинке класс anim01, если 4-й и 5-й - класс anim02. А остальным никакой класс не добавляем.

       <?php $args = array(
            'numberposts' => 6,
            'category'    => 5,
            'orderby'     => 'date',
            'order'       => 'ASC',
            'post_type'   => 'post',
            'suppress_filters' => true,
        );
        
        $posts = get_posts( $args ); $i = 1; //добавляем счётчик ?>
        
        <div class="page__item" data-da=".c, 767.8">

            <?php foreach($posts as $post) {
                setup_postdata($post);
                if($i == 2 || $i == 3) { ?>
                <img src="<?php the_post_thumbnail_url(); ?>" alt="" class="anim01">
            <?php } else if($i == 4 || $i == 5) { ?>
                <img src="<?php the_post_thumbnail_url(); ?>" alt="" class="anim02">
            <?php } else { ?>
                <img src="<?php the_post_thumbnail_url(); ?>" alt="">
            <?php } $i++; //инкрементируем счётчик }
            wp_reset_postdata(); // сброс ?>

        </div>
→ Ссылка