Cum să afișezi produsele specifice unei categorii cu plugin-ul WooCommerce?

5 oct. 2012, 15:23:41
Vizualizări: 193K
Voturi: 16

Folosesc plugin-ul WooCommerce pentru a face un magazin online.

Am mai multe categorii, de exemplu pantofi, haine și așa mai departe. Cum pot să afișez produsele dintr-o categorie specifică?

Am văzut astfel de bucle de produse pe pagina exemplu, dar vreau să afișez doar produsele dintr-o categorie specifică în fișierul meu index.php.

1
Comentarii

poți să-mi spui unde să adaug acest cod, te rog?

Alaa M. Jaddou Alaa M. Jaddou
20 ian. 2017 21:49:56
Toate răspunsurile la întrebare 3
8
29

Trebuie să creezi un nou loop pentru asta. Iată codul pe care îl folosesc pentru afișarea produselor dintr-o anumită categorie pe pagina principală:

<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>Încălțăminte</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-->
5 oct. 2012 18:07:02
Comentarii

@VanTong Apoi marchează acest răspuns ca răspunsul corect: dă click pe bifa din partea stângă.

fuxia fuxia
7 oct. 2012 07:37:00

Bună Dwaser, vreau să întreb mai multe. Dacă în pagina de arhivă, vreau să afișez toate produsele noi. Și când aleg o anumită categorie, să afișeze produsele din acea categorie. De exemplu, am 2 categorii: Categoria A și Categoria B. Când aleg A, să afișeze produsele din A, iar când aleg B, să afișeze produsele din B. Te rog să-mi spui cum să fac loop-urile. Mulțumesc.

Van Tong Van Tong
26 oct. 2012 15:22:20

cum să afișez un mesaj dacă nu există produse?

Muhammad Bilal Muhammad Bilal
6 feb. 2014 01:42:27

@dwaser Bună, argumentul product_cat acceptă un ID de categorie de tip întreg, adică: 40 în loc de 'pantofi'? Dacă nu, cum pot face să accepte un ID de categorie de tip întreg? Mulțumesc

Malloc Malloc
6 mai 2014 21:15:51

@dwaser. Se pare că funcția woocommerce_placeholder_img_src() este acum învechită. get_image() ar fi echivalentul? http://docs.woothemes.com/wc-apidocs/source-class-WC_Product.html#1473-1489. De asemenea, de ce verifici mai întâi dacă există o imagine reprezentativă pentru postare?

codecowboy codecowboy
9 iun. 2015 14:34:03

Scuzați-mă, dar unde trebuie adăugat acest cod? Sunt începător în WordPress dar am un termen limită foarte strâns. @VanTong

Alaa M. Jaddou Alaa M. Jaddou
20 ian. 2017 21:21:15

Mă întreb și eu despre contextul acestui cod. Unde ar trebui să-l pun?

c0dehunter c0dehunter
15 feb. 2018 11:02:31

Cu 1 an întârziere, dar ar trebui să pui asta în template-ul tău. wp-content/yourtheme/template-name.php

Bwrites Bwrites
16 oct. 2019 06:47:48
Arată celelalte 3 comentarii
1

Încearcă asta

<?php
    echo $product->get_categories(
        ', ',
        '<span class="posted_in">' . _n( 'Categorie:', 'Categorii:',
        sizeof( get_the_terms( $post->ID, 'product_cat' ) ),
        'woocommerce' ) . ' ',
        '.</span>'
    );
?>
17 sept. 2013 10:41:28
Comentarii

Poți să detaliezi cum și de ce această soluție ar rezolva problema OP?

Johannes Pille Johannes Pille
17 sept. 2013 11:38:37
2

Există o altă metodă:

Puteți seta pagina "Magazin" ca pagină de pornire implicită. Acum toate produsele vor fi afișate pe pagina principală. Adică în index.php.

14 mar. 2014 12:39:55
Comentarii

întrebarea era pentru produsele dintr-o anumită categorie?

Jon Jon
20 oct. 2020 15:44:32

Te rog șterge acest răspuns, deoarece nu are nicio legătură cu întrebarea.

clayRay clayRay
12 feb. 2021 05:46:46