Como exibir produto específico para uma categoria com o plug-in WooCommerce? [fechadas]

13

Estou usando o plugin Woocommerce para fazer compras online.

Eu tenho muitas categorias, por exemplo shoes, clothese assim por diante. Como posso exibir os produtos de categoria específica?

Vejo esses loops de produtos na página de amostra , mas quero mostrar apenas os produtos de uma categoria específica na minha index.php.

Van Tong
fonte
u pode por favor me dizer onde adicionar este código, se quiser #
Alaa M. Jaddou 20/17/17

Respostas:

26

Você precisa criar um novo loop para isso. Aqui está o código que eu uso para exibir produtos de uma categoria específica na página inicial:

<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
fonte
1
@VanTong Em seguida, marque esta resposta como a resposta: clique na marca de seleção no lado esquerdo.
fuxia
Oi Dwaser, quero perguntar mais. Se estiver na página de arquivo, quero mostrar todo o novo produto. e Quando eu escolher uma categoria específica, ele mostrará o produto dessa categoria. Exemplo: Eu tenho 2 categorias Categoria A e Categoria B. Quando eu escolho A, ele mostra o produto de A e escolhe B, ele mostra o produto de B. Por favor, diga-me os loops. obrigado.
Van Tong
mensagem hot show se não houver produtos?
Muhammad Bilal
@dwaser Oi, deos o argumento product_cat aceita um ID de categoria int, ou seja: 40 em vez de 'shoes'? caso contrário, como fazê-lo aceitar um ID de categoria int? obrigado
Malloc
1
me desculpe galera, mas onde adicionar esse código? Eu sou um novato no wordpress, mas tenho um prazo muito próximo. @VanTong
Alaa M. Jaddou
1

Existe outra maneira:

Você pode atribuir a página "Loja" como a página inicial padrão. Agora todos os produtos serão exibidos na página inicial. Quero dizer index.php.

sandeep josan
fonte
-1

Tente isto

<?php
    echo $product->get_categories(
        ', ',
        '<span class="posted_in">' . _n( 'Category:', 'Categories:',
        sizeof( get_the_terms( $post->ID, 'product_cat' ) ),
        'woocommerce' ) . ' ',
        '.</span>'
    );
?>
manoj
fonte
4
Você pode explicar como e por que isso resolveria o problema do OP?
Johannes Pille