Snippet Loop Prodotti in Offerta WooCommerce
Sto cercando di selezionare solo i prodotti in offerta in un loop di WooCommerce attraverso uno snippet. Ho provato ad utilizzare il codice seguente ma questo seleziona tutti i prodotti. Vorrei selezionare solo i prodotti in offerta nel loop.
<!-- Prodotti Nuovi WooCommerce -->
<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 __( 'Nessun prodotto trovato' );
}
wp_reset_postdata();
?>
</ul>
<!-- Prodotti Nuovi WooCommerce -->
Quindi per ottenere ciò che desidero, cosa dovrei fare?

Finalmente, ho ottenuto il codice. Utilizzando il codice qui sotto, puoi selezionare i prodotti In Offerta che sono sia Prodotti Semplici In Offerta che Prodotti Variabili In Offerta. Tieni presente che questo codice selezionerà ogni post in cui hai aggiunto un prezzo scontato. Quindi evita di inserire il prezzo in questo campo (mostrato nell'immagine allegata) se il tuo prezzo scontato è uguale al prezzo originale, perché in tal caso non sarà un prodotto in offerta, ma questo codice lo includerà comunque nei loop dei prodotti in offerta.
<!-- Prodotti In Offerta WooCommerce -->
<ul class="products">
<?php
$args = array(
'post_type' => 'product',
'posts_per_page' => 4,
'meta_query' => array(
'relation' => 'OR',
array( // Tipo prodotti semplici
'key' => '_sale_price',
'value' => 0,
'compare' => '>',
'type' => 'numeric'
),
array( // Tipo prodotti variabili
'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 __( 'Nessun prodotto trovato' );
}
wp_reset_postdata();
?>
</ul>
<!-- Prodotti In Offerta WooCommerce -->

Sfortunatamente non sembra funzionare per i prodotti con variazioni. Il campo "_min_variation_sale_price" manca. Probabilmente WooCommerce lo ha modificato nel corso degli anni.
