Snippet Loop Prodotti in Offerta WooCommerce

28 nov 2014, 18:43:17
Visualizzazioni: 20.5K
Voti: 1

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?

7
Commenti

I plugin e i temi di terze parti non sono pertinenti qui. Dovresti contattare lo sviluppatore o chiedere nel forum di supporto di WooCommerce su wordpress.org

Robert hue Robert hue
28 nov 2014 19:03:42

@Roberthue È davvero divertente quello che hai detto qui. :P Se hai tempo allora cerca WooCommerce in questo sito e vedi quante domande riesci a vedere qui. Se non riesci allora apri http://wordpress.stackexchange.com/search?q=WooCommerce e guarda lì.

Muhammad Hassan Muhammad Hassan
29 nov 2014 05:57:55

Le domande su Woocommerce non sono pertinenti. Siamo occupati a chiudere tutte queste domande se non l'hai notato. Anche la tua domanda verrà chiusa come non pertinente. Mi dispiace per questo. Grazie

Pieter Goosen Pieter Goosen
29 nov 2014 06:07:48

Per favore consulta questi thread correlati su meta

Pieter Goosen Pieter Goosen
29 nov 2014 06:11:26

Sì, ci sono molte domande sui plugin di terze parti su WPSE, ma questo non le rende corrette. Porre domande nel posto giusto ti darà supporto migliore e più veloce.

Robert hue Robert hue
29 nov 2014 06:51:33

Quindi voi prima chiudete il tag WooCommerce così nessuno lo menzionerà più. Prima siate perfetti voi, poi chiedetelo agli altri.

Muhammad Hassan Muhammad Hassan
29 nov 2014 07:28:33

Quindi le domande su WooCommerce sono consentite su http://stackoverflow.com/search?q=WooCommerce

Muhammad Hassan Muhammad Hassan
29 nov 2014 07:29:54
Mostra i restanti 2 commenti
Tutte le risposte alla domanda 1
2

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.

Schermata del Form Dati Prodotto WooCommerce

<!-- 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 -->
29 nov 2014 11:03:15
Commenti

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.

Jordan Carter Jordan Carter
26 mar 2018 20:30:08

Questo invece ha funzionato per me. Aggiungi agli argomenti della query: 'post__in' => wc_get_product_ids_on_sale(),

Jordan Carter Jordan Carter
26 mar 2018 20:39:47