WooCommerceプラグインでカテゴリ固有の製品を表示する方法は?[閉まっている]


13

Woocommerceプラグインを使用して、オンラインショップで買い物をしています。

たとえばshoes、多くのカテゴリがありますclothes。特定のカテゴリの製品を表示するにはどうすればよいですか?

私は、上のような製品のループを参照サンプルのページを、私は私の中の特定のカテゴリの製品を表示しますindex.php


よろしければこのコードを追加する場所を教えてください
Alaa M. Jaddou

回答:


26

そのための新しいループを作成する必要があります。ホームページに特定のカテゴリの製品を表示するために使用するコードは次のとおりです。

<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そして、この答えをマーク答え:左側にあるチェックマークをクリックしてください。
FUXIA

こんにちはDwaser、もっと聞いてみたい。アーカイブページにある場合、すべての新しい製品を表示します。特定のカテゴリを選択すると、そのカテゴリの製品が表示されます。例私は2つのカテゴリカテゴリAとカテゴリBがあり、Aを選択するとAの製品が表示され、Bを選択するとBの製品が表示されます。ループを教えてください。ありがとう。
ヴァントン

製品がない場合のホットショーメッセージ?
ムハンマドビラル14

@dwaserこんにちは、product_cat引数はintカテゴリIDを受け入れます。つまり、「shoes」の代わりに40ですか?そうでない場合、intカテゴリIDを受け入れるようにする方法は?感謝
mallocの

1
失礼しますが、このコードを追加する場所は?私はワードプレスの新人ですが、期限が非常に近いです。@VanTong
Alaa M. Jaddou

1

別の方法があります:

「ショップ」ページをデフォルトのホームページとして割り当てることができます。これで、すべての製品がホームページに表示されます。つまりindex.php


-1

これを試して

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

4
これがOPの問題をどのように、そしてなぜ解決するかについて詳しく説明していただけますか?
ヨハネスポール
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.