Как передать класс категории аккордеон, чтобы правильно размещать предметы в WordPress - PullRequest
1 голос
/ 17 апреля 2020

Мне нужно получить помощь от какого-то человека о сборке аккордеона WordPress, но в l oop, он повторял те же три поста, и я не знаю, как сделать все правильно oop при нажатии на категорию Я должен увидеть пост, относящийся к нему, но этого не происходит, он просто повторяет те же 3 поста.

<ul class="s3_accordion">
    <?php
        $categories = get_categories( array(
            'orderby'   => 'name',
            'order'     => 'DESC'
        ) );
        $cat_array = array();
        foreach( $categories as $category ) {
            $category_link = sprintf( 
                '<li class="artical_options" data-class=".%2$s" alt="%2$s">%3$s</li>',
                esc_url( get_category_link( $category->term_id ) ),
                esc_attr( sprintf( __( '%s', 'textdomain' ), $category->slug ) ),
                esc_html( $category->slug )
            );
            echo sprintf( esc_html__( '%s', 'textdomain' ), $category_link );
            $cat_array[] = $category->term_id;
        }
    ?>
</ul>

и здесь я хочу вернуть 3 поста, но каждый пост в одной карточке и нужных категориях, поэтому ошибка в сообщениях l oop или что-то близкое.

<?php 
if( !empty( $cat_array ) ) :
    foreach( $cat_array as $cat ) :
        $category = get_term( $cat, 'category' );
        $cat_slug = $category->slug;
        echo '<div class="col-lg-4 s3_shuffle_image ' . $cat_slug . '">';
        $postslist = get_posts( array(
            'posts_per_page'    => 3,
            'cat'               => $cat->ID,
            'order'           => 'DESC'
        ) );
        if( $postslist ) :
            foreach( $postslist as $post ) :
                setup_postdata( $post ); ?>
                <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
                <?php the_excerpt(); ?>
            <?php
            endforeach; 
            wp_reset_postdata();
        endif;
        echo '</div>';
    endforeach;
endif;
?>

спасибо.

...