web-dev-qa-db-ja.com

WooCommerceオンリーセールス製品ループスニペット

私はスニペットを介してWooCommerceループ内のOnSale商品のみを選択しようとしています。そのために私は以下のコードを使用しようとしましたが、これはすべての製品を選んでいます。ループ内のOnSale商品のみを選択します。

<!-- WooCommerce New Products -->
<ul class="products">
    <?php
        $args = array(
            'post_type' => 'product',
            'posts_per_page' => 4
            );
        $loop = new WP_Query( $args );
        if ( $loop->have_posts() ) {
            while ( $loop->have_posts() ) : $loop->the_post();
                woocommerce_get_template_part( 'content', 'product' );
            endwhile;
        } else {
            echo __( 'No products found' );
        }
        wp_reset_postdata();
    ?>
</ul>
<!-- WooCommerce New Products -->

それで、私の欲望のために、私は何をすべきですか?

1
Muhammad Hassan

最後に、コードを入手しました。下記のコードを使用して、OnSale商品のうち、Simple Product On Saleまたはのいずれかの商品を選択できます。発売中の製品。このコードでは、販売価格を追加したすべての投稿が選択されます。販売価格が元の価格と同じ場合は、このフィールドに価格を追加しないでください(添付の画像に表示されています)。販売コードにはなりませんが、販売コードのループでこのコードが選択されます。

WooCommerce Product Data Form ScreenShot

<!-- WooCommerce On-Sale Products -->
<ul class="products">
    <?php
        $args = array(
            'post_type'      => 'product',
            'posts_per_page' => 4,
            'meta_query'     => array(
                    'relation' => 'OR',
                    array( // Simple products type
                        'key'           => '_sale_price',
                        'value'         => 0,
                        'compare'       => '>',
                        'type'          => 'numeric'
                    ),
                    array( // Variable products type
                        'key'           => '_min_variation_sale_price',
                        'value'         => 0,
                        'compare'       => '>',
                        'type'          => 'numeric'
                    )
                )
        );
        $loop = new WP_Query( $args );
        if ( $loop->have_posts() ) {
            while ( $loop->have_posts() ) : $loop->the_post();
                woocommerce_get_template_part( 'content', 'product' );
            endwhile;
        } else {
            echo __( 'No products found' );
        }
        wp_reset_postdata();
    ?>
</ul>
<!-- WooCommerce On-Sale Products -->
4
Muhammad Hassan