¿Cómo mostrar un producto específico para una categoría con el complemento WooCommerce? [cerrado]

13

Estoy usando el complemento Woocommerce para hacer compras en línea.

Tengo muchas categorías por ejemplo shoes,clothes y así sucesivamente. ¿Cómo puedo mostrar los productos de una categoría específica?

Veo dichos bucles de productos en la página de muestra , pero solo quiero mostrar los productos de una categoría específica en mi index.php.

Van Tong
fuente
¿Puedes decirme dónde agregar este código si quieres?
Alaa M. Jaddou

Respuestas:

26

Necesita crear un nuevo bucle para eso. Aquí está el código que uso para mostrar productos de una categoría específica en la página de inicio:

<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
fuente
1
@VanTong Luego marque esta respuesta como la respuesta: haga clic en la marca de verificación en el lado izquierdo.
fuxia
Hola Dwaser, quiero pedir más. Si en la página de archivo, quiero mostrar todos los productos nuevos. y cuando elijo una categoría específica, mostrará el producto de esa categoría. Ejemplo Tengo 2 categorías Categoría A y Categoría B, cuando elijo A, mostrará el producto de A, y elijo B, mostrará el producto de B. Por favor, dígame los bucles. Gracias.
Van Tong
mensaje de show caliente si no hay productos?
Muhammad Bilal
@dwaser Hola, deos el argumento product_cat acepta un id de categoría int, es decir: 40 en lugar de 'zapatos'? si no, ¿cómo hacer que acepte un id de categoría int? gracias
Malloc
1
discúlpeme chicos, pero ¿dónde agregar este código? Soy un novato en WordPress pero tengo una fecha límite muy cercana. @VanTong
Alaa M. Jaddou
1

Hay otra forma:

Puede asignar la página "Comprar" como página de inicio predeterminada. Ahora todos los productos se mostrarán en la página de inicio. Me refiero index.php.

sandeep josan
fuente
-1

Prueba esto

<?php
    echo $product->get_categories(
        ', ',
        '<span class="posted_in">' . _n( 'Category:', 'Categories:',
        sizeof( get_the_terms( $post->ID, 'product_cat' ) ),
        'woocommerce' ) . ' ',
        '.</span>'
    );
?>
manoj
fuente
44
¿Puedes explicar cómo y por qué esto resolvería el problema del OP?
Johannes Pille