Как отобразить продукт для определенной категории с помощью плагина WooCommerce? [закрыто]

13

Я использую плагин Woocommerce, чтобы делать покупки онлайн.

У меня есть много категорий, например shoes, clothesи так далее. Как я могу отобразить товары определенной категории?

Я вижу такие циклы продуктов на странице примера , но я хочу показывать только продукты определенной категории в моем index.php.

Ван Тонг
источник
Можете

Ответы:

26

Вам нужно создать новый цикл для этого. Вот код, который я использую для отображения товаров из определенной категории на главной странице:

<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>Shoes</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="Placeholder" 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-->
dwaser
источник
1
@VanTong Затем пометьте этот ответ как ответ: нажмите на галочку слева.
Fuxia
Привет Двасер, я хочу спросить больше. Если на странице архива, я хочу показать все новые продукты. и когда я выберу конкретную категорию, будет показан продукт этой категории. Пример У меня есть 2 категории A и B, когда я выберу A, он покажет продукт A, и выберет B, он покажет продукт B. Пожалуйста, скажите мне петли. Благодарю.
Ван Тонг
горячее шоу сообщение, если нет продуктов?
Мухаммед Билал
@dwaser Привет, deos Аргумент product_cat принимает идентификатор категории int, т. е. 40 вместо «обувь»? если нет, то как заставить его принимать идентификатор категории int? спасибо
Маллок
1
извините меня, ребята, но где добавить этот код? Я новичок в WordPress, но у меня очень короткий срок. @VanTong
Алаа М. Джадду
1

Есть еще один способ:

Вы можете назначить страницу «Магазин» домашней страницей по умолчанию. Теперь все товары будут отображаться на главной странице. Я имею в виду index.php.

Сандип Хосан
источник
-1

Попробуй это

<?php
    echo $product->get_categories(
        ', ',
        '<span class="posted_in">' . _n( 'Category:', 'Categories:',
        sizeof( get_the_terms( $post->ID, 'product_cat' ) ),
        'woocommerce' ) . ' ',
        '.</span>'
    );
?>
Манодж
источник
4
Можете ли вы рассказать, как и почему это решило бы проблему ОП?
Йоханнес Пилле