Ivanchela
@Ivanchela
Frontend Developer

Как при нажатии на кнопку выводить записи произвольного типа определенной категории?

Есть товары, созданные произвольным типом записей. Они выводятся на странице каталога и нужно сделать вывод по производителю, категории, цене. А также сортировку по цене и популярности. Заранее спасибо!

5e4e7eed695ef987960399.jpeg

Вот цикл вывода записей
<?php if(have_posts()) : while(have_posts()) : the_post(); ?>

                <?php // параметры по умолчанию
                    $posts = get_posts( array(
                        'numberposts' => 0,
                        'post_type'   => 'goods',
                        'suppress_filters' => true, // подавление работы фильтров изменения SQL запроса
                    ) );

                    foreach( $posts as $post ){ setup_postdata($post); ?>
                        <div class="goods__item">
              
                          <div class="product__header goods__name"><?php the_field('goods_name') ?></div>
                          <ul class="product__stars">
                            
                          </ul>

                          <img class="goods__item-stars" src="<?php echo get_template_directory_uri() ?>/img/stars/stars<?php the_field('goods__stars') ?>.png" alt="">

                          <div class="product__rank goods__rank"><?php the_field('goods_rating') ?></div>

                          <?php the_post_thumbnail('', 'class=goods__img') ?>
                          <div class="goods__container-right">
                            <div class="product__discount goods__discount"><?php the_field('goods_price') ?> руб</div>
                            <div class="product__count goods__count"><?php the_field('goods_discount') ?> руб</div>
                          </div>

                          <div class="product__buttons goods__buttons">
                            <button class="button-show product-button">
                              <img class="hits-buttons-img" src="<?php echo get_template_directory_uri() ?>/img/cart 1.png" alt="">
                              <a href="<?php the_permalink() ?>" class="button-link">Купить быстро</a>
                            </button>
                            <button class="button-show product-button product-button_transparent">
                              <img class="hits-buttons-img" src="<?php echo get_template_directory_uri() ?>/img/cart 2.png" alt="">
                              <a href="<?php the_permalink() ?>" class="button-link">Купить</a>
                            </button>
                          </div>

                          <div class="goods__desc">
                            <div class="goods__availability"><?php the_field('goods_availability') ?></div>
                            <div class="goods__delivery">Доставка - <?php the_field('goods_delivery') ?> дня</div>
                          </div>
                          
                        </div> <!-- goods__item -->
                    <?php }

                wp_reset_postdata(); // сброс ?>

            <?php endwhile; ?>
            <?php endif; ?>
  • Вопрос задан
  • 161 просмотр
Решения вопроса 1
@ikoit
Web Developer
Через код ниже, связав его с кнопкой.

<?php 
$loop = new WP_Query( array( 
  'category_name' => 'имя_категории',
  'post_type' => 'product', 
  'posts_per_page' => 40,
  'orderby' => 'menu_order', 
  'order' => 'ASC',
  ));
while ( $loop->have_posts() ): $loop->the_post(); ?>
  <div <?php post_class("inloop-product"); ?>>
    <div class="row">
      <div class="col-sm-4">
        <?php the_post_thumbnail("thumbnail-215x300"); ?>
      </div>
      <div class="col-sm-8">
        <h4>
          <a href="<?php the_permalink(); ?>">
            <?php the_title(); ?>
          </a>
        </h4>
        <?php the_content(); ?>
        <p class="price">
          <?php _e("Price:","examp"); ?>
          <?php woocommerce_template_loop_price(); ?>
        </p>
        <?php woocommerce_template_loop_add_to_cart(); ?>
      </div>
    </div>
  </div> 
  <?php endwhile; ?>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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