Как отобразить товары определенной категории с помощью плагина WooCommerce?
Я использую плагин WooCommerce для создания интернет-магазина.
У меня есть много категорий, например shoes
, clothes
и так далее. Как я могу отобразить товары определенной категории?
Я вижу такие циклы товаров на демонстрационной странице, но я хочу показать товары только определенной категории в моем файле index.php
.

Вам нужно создать новый цикл для этого. Вот код, который я использую для отображения товаров из определенной категории на главной странице:
<ul class="products">
<?php
$args = array( 'post_type' => 'product', 'posts_per_page' => 1, 'product_cat' => 'shoes', 'orderby' => 'rand' );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); global $product; ?>
<h2>Обувь</h2>
<li class="product">
<a href="<?php echo get_permalink( $loop->post->ID ) ?>" title="<?php echo esc_attr($loop->post->post_title ? $loop->post->post_title : $loop->post->ID); ?>">
<?php woocommerce_show_product_sale_flash( $post, $product ); ?>
<?php if (has_post_thumbnail( $loop->post->ID )) echo get_the_post_thumbnail($loop->post->ID, 'shop_catalog'); else echo '<img src="'.woocommerce_placeholder_img_src().'" alt="Заглушка" width="300px" height="300px" />'; ?>
<h3><?php the_title(); ?></h3>
<span class="price"><?php echo $product->get_price_html(); ?></span>
</a>
<?php woocommerce_template_loop_add_to_cart( $loop->post, $product ); ?>
</li>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
</ul><!--/.products-->

@VanTong Тогда отметьте этот ответ как правильный: нажмите на галочку слева.

Привет Dwaser, я хочу спросить еще кое-что. Если на странице архива я хочу показывать все новые товары. И когда я выбираю определенную категорию, она должна показывать товары этой категории. Например, у меня есть 2 категории - Категория A и Категория B. Когда я выбираю A, должны показываться товары A, а когда выбираю B - товары B. Пожалуйста, подскажите, как сделать такие циклы. Спасибо.

@dwaser Привет, принимает ли аргумент product_cat числовой ID категории, например: 40 вместо 'shoes'? Если нет, как сделать так, чтобы он принимал числовой ID категории? Спасибо

@dwaser. Похоже, что функция woocommerce_placeholder_img_src() теперь устарела. Будет ли get_image() её эквивалентом? http://docs.woothemes.com/wc-apidocs/source-class-WC_Product.html#1473-1489. Также, почему вы сначала проверяете наличие миниатюры записи?

Извините, ребята, но куда добавить этот код? Я новичок в WordPress, но у меня очень сжатые сроки. @VanTong

Мне также интересно, в каком контексте используется этот код. Куда его нужно вставить?
