@Purple_mem

Как вывести посты разных категорий внутри foreach?

С помощью foreaсh выводятся слайды по категориям записей :
<section class="section products" id="products">
        <div class="container">
          <div class="products__title title">Товары</div>
        </div>
        <div class="products__slider-wrap">
         <div class="container">
          <?php
            $terms = get_terms( 'categories',[
                'orderby' => 'date',
                'order'         => 'DESC'
            ] );
            if( $terms && ! is_wp_error( $terms ) ){ ?>
            <div class="products__slider js-products-slider">
            <?php foreach( $terms as $term ){
              setup_postdata( $term );
              ?>
              <div class="products__item-wrap">
                <div class="products__item">
                  <?php get_template_part('products-sliders');?>
                  <div class="products__content">
                    <div class="products__name"><?php echo $term->name;?></div>
                  </div>
                </div>
              </div>
            <?php } ?>
            </div>
          <?php } ?>
         </div>
      </div>
</section>


В каждом слайде подключается фрагмент еще двух слайдов, в которых нужно вывести записи текущей категории
<div class="products__sliders">

    <?php get_template_part('slider-left'); ?>
    <?php get_template_part('slider-main'); ?>

</div>

Как сделать так, чтобы внутри каждого слайда далее выводились сами записи этой категории?
<?php

$prod_posts = get_posts();
?>

<div class="products__slider-left js-slider-left-1">
<?php
foreach ($prod_posts as $prod_post) {
    setup_postdata( $prod_post );?>
    <div class="products__small-img-wrap" data-slick-index="<?php get_the_ID();?>">
     .......
    </div>              
<?php } ?>
</div>
  • Вопрос задан
  • 86 просмотров
Пригласить эксперта
Ответы на вопрос 1
anatoly_kulikov
@anatoly_kulikov
Помог ответ? Отметь решением!
Нужно передать в запрос по записям id категории текущего слайда. В данном случае вам нужно будет это все либо сделать:
  • внутри одного файла php
  • сделать через функции, передавая в аргументах необходимые параметры, чтобы именно функции возвращали результат (а не через подключения template parts)

Это два первых варианта, что пришли в голову, вероятно, можно и еще придумать.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы