Jak wyświetlić produkt specyficzny dla kategorii za pomocą wtyczki WooCommerce? [Zamknięte]

13

Korzystam z wtyczki Woocommerce, aby robić zakupy online.

Mam wiele kategorii, na przykład shoes, clothesi tak dalej. Jak mogę wyświetlić produkty określonej kategorii?

Widzę takie pętle produktów na przykładowej stronie , ale chcę tylko pokazać produkty z określonej kategorii w mojej index.php.

Van Tong
źródło
czy możesz mi powiedzieć, gdzie dodać ten kod, jeśli chcesz
Alaa M. Jaddou,

Odpowiedzi:

26

Musisz do tego utworzyć nową pętlę. Oto kod, którego używam do wyświetlania produktów z określonej kategorii na stronie głównej:

<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
źródło
1
@ VanTong Następnie zaznacz tę odpowiedź jako odpowiedź: kliknij znacznik wyboru po lewej stronie.
fuxia
Cześć Dwaser, chcę zapytać o więcej. Jeśli na stronie archiwum chcę pokazać cały nowy produkt. a kiedy wybiorę określoną kategorię, wyświetli się produkt tej kategorii. Przykład Mam 2 kategorię kategorii A i kategorię B, kiedy wybiorę A, pokaże produkt A, a wybiorę B pokaże produkt B. Powiedz mi, że mam pętle. dzięki.
Van Tong,
wiadomość na gorąco, jeśli nie ma produktów?
Muhammad Bilal
@dwaser Cześć, czy deos argument product_cat akceptuje identyfikator kategorii int, tzn .: 40 zamiast „shoes”? jeśli nie, jak sprawić, by akceptował identyfikator kategorii int? dzięki
Malloc
1
przepraszam chłopaki, ale gdzie dodać ten kod? Jestem nowicjuszem w wordpress, ale mam bardzo zbliżony termin. @VanTong
Alaa M. Jaddou
0

Istnieje inny sposób:

Możesz przypisać stronę „Sklep” jako domyślną stronę główną. Teraz wszystkie produkty zostaną wyświetlone na stronie głównej. Mam na myśli index.php.

sandeep josan
źródło
-1

Spróbuj tego

<?php
    echo $product->get_categories(
        ', ',
        '<span class="posted_in">' . _n( 'Category:', 'Categories:',
        sizeof( get_the_terms( $post->ID, 'product_cat' ) ),
        'woocommerce' ) . ' ',
        '.</span>'
    );
?>
manoj
źródło
4
Czy możesz wyjaśnić, w jaki sposób i dlaczego rozwiązałoby to problem PO?
Johannes Pille,