私はスニペットを介して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 -->
それで、私の欲望のために、私は何をすべきですか?
最後に、コードを入手しました。下記のコードを使用して、OnSale商品のうち、Simple Product On Saleまたはのいずれかの商品を選択できます。発売中の製品。このコードでは、販売価格を追加したすべての投稿が選択されます。販売価格が元の価格と同じ場合は、このフィールドに価格を追加しないでください(添付の画像に表示されています)。販売コードにはなりませんが、販売コードのループでこのコードが選択されます。
<!-- 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 -->