@bett22

Как вывести товары в выпадающее меню из определенной категории?

Подскажите пожалуйста как вывести товары в выпадающее меню из определенной категории? Сейчас выводит все товары, которые есть на сайте. Спасибо
<li class="menu__list">
	<button type="button" class="menu__button _icon-arrow-2" data-spoller>
		<a href='#'><?php echo get_field('menu-3', 'options'); ?></a>
	</button>
		<div class="menu__items">

			<?php
				$page_id = get_the_ID();
				$catalog_products = carbon_get_post_meta( $page_id, 'catalog_products' );
				$catalog_products_ids = wp_list_pluck( $catalog_products, 'id');

				$catalog_products_query_args = [
					'post_type' => 'product',
					'post__in' => $catalog_products_ids,
				];
										
				$catalog_products_query = new WP_Query ( $catalog_products_query_args );
				
				?>

			       <ul data-spollers="767.98, max" class="menu__product">

					<?php if ( $catalog_products_query -> have_posts() ) : ?>


						<?php while ( $catalog_products_query -> have_posts() ) : $catalog_products_query -> the_post(); ?>

						<li class="menu__item">
							<a href="<?php echo get_permalink(); ?>">
							     <?php the_title(); ?>
							</a>
						</li>

					<?php endwhile; ?>

				<?php wp_reset_postdata(); ?>

			<?php endif; ?>

			</ul>
		</div>
	</li>
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ответы на вопрос 1
wfantastic
@wfantastic
увлечен wordpress
<li class="menu__list">
    <button type="button" class="menu__button _icon-arrow-2" data-spoller>
        <a href='#'><?php echo get_field('menu-3', 'options'); ?></a>
    </button>
    <div class="menu__items">
        <ul data-spollers="767.98, max" class="menu__product">

            <?php
            // ID или slug категории, из которой нужно получить товары
            $category_id = 'категория-id-или-слуг';

            // Аргументы для запроса
            $args = array(
                'post_type' => 'product',
                'posts_per_page' => -1, // Вывести все товары
                'tax_query' => array(
                    array(
                        'taxonomy' => 'product_cat',
                        'field' => 'term_id', // Можно использовать 'slug' вместо 'term_id', если используете slug категории
                        'terms' => $category_id,
                        'operator' => 'IN',
                    ),
                ),
            );

            $catalog_products_query = new WP_Query($args);

            if ($catalog_products_query->have_posts()) :
                while ($catalog_products_query->have_posts()) : $catalog_products_query->the_post(); ?>
                    <li class="menu__item">
                        <a href="<?php echo get_permalink(); ?>">
                            <?php the_title(); ?>
                        </a>
                    </li>
                <?php endwhile;
                wp_reset_postdata();
            endif;
            ?>

        </ul>
    </div>
</li>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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