Wie kann ich mit dem WooCommerce Plugin ein Produkt anzeigen, das für eine Kategorie spezifisch ist? [geschlossen]


13

Ich benutze das Woocommerce-Plugin, um online einzukaufen.

Ich habe viele Kategorien zum Beispiel shoes, clothesund so weiter. Wie kann ich die Produkte einer bestimmten Kategorie anzeigen?

Ich sehe solche Produktschleifen auf der Beispielseite , möchte aber nur die Produkte einer bestimmten Kategorie in meiner Liste anzeigen index.php.


Antworten:


26

Dazu müssen Sie eine neue Schleife erstellen. Hier ist der Code, den ich zum Anzeigen von Produkten aus einer bestimmten Kategorie auf der Homepage verwende:

<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-->

1
@VanTong Markieren Sie diese Antwort als Antwort: Klicken Sie auf das Häkchen auf der linken Seite.
Fuxia

Hallo Dwaser, ich möchte mehr fragen. Wenn ich auf der Archivseite bin, möchte ich alle neuen Produkte anzeigen. und Wenn ich eine bestimmte Kategorie wähle, wird das Produkt dieser Kategorie angezeigt. Beispiel Ich habe 2 Kategorien, Kategorie A und Kategorie B. Wenn ich A wähle, wird das Produkt von A angezeigt, und wenn ich B wähle, wird das Produkt von B angezeigt. Bitte teilen Sie mir Schleifen mit. Vielen Dank.
Van Tong

heiße Show Nachricht, wenn es keine Produkte gibt?
Muhammad Bilal

@dwaser Hallo, deos, das Argument product_cat akzeptiert eine int-Kategorie-ID, dh: 40 anstelle von 'shoes'? Wenn nicht, wie kann eine int-Kategorie-ID akzeptiert werden? Danke
Malloc

1
Entschuldigung, aber wo soll ich diesen Code hinzufügen? Ich bin ein Newpie in WordPress, aber ich habe eine sehr enge Frist. @ VanTong
Alaa M. Jaddou

1

Es geht auch anders:

Sie können die Seite "Shop" als Standardhomepage zuweisen. Jetzt werden alle Produkte auf der Homepage angezeigt. Ich meine index.php.


-1

Versuche dies

<?php
    echo $product->get_categories(
        ', ',
        '<span class="posted_in">' . _n( 'Category:', 'Categories:',
        sizeof( get_the_terms( $post->ID, 'product_cat' ) ),
        'woocommerce' ) . ' ',
        '.</span>'
    );
?>

4
Können Sie erläutern, wie und warum dies das Problem des OP lösen würde?
Johannes Pille
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.