Cerca

Cambiare i prezzi nei prodotti variabili di WooCommerce

Prezzi prodotti variabili in WordPress 2.1
Prezzi prodotti variabili in WordPress 2.1

Range prezzi prodotti variabili in WooCommerce

Con la versione 2.1 del 2014, gli sviluppatori di WooCommerce hanno avuto la bella pensata di cambiare il formato del prezzo dei prodotti variabili.

Prima era il piรน piacevole “A partire da:”, da WooCommerce 2.1 in poi รจ diventato il range “prezzo minimo – prezzo massimo”, a cui ci siamo abituati ma che non riesco proprio a farmelo piacere.

Sono sicuro che in taluni casi il range di prezzi minimo/massimo sia piรน indicato, ma negli store online di mezzo mondo siamo ancora abituati al vecchio sistema, e anche io lo preferisco.

In particolare ritengo sia piรน indicato in quegli store dove la differenza tra variazioni รจ minima, come per abbigliamento e accessori.

Per modificare il formato del prezzo nei prodotti variabili di WooCommerce, ci viene incontro il classico snippet php.

Come cambiare il formato dei prezzi nei prodotti variabili di WooCommerce

Per sostituire il range di prezzi minimo/massimo con il piรน amichevole (e ammiccante) “A partire da:”, รจ sufficiente aggiungere un filtro al file functions.php del tema, ovviamente meglio se si sta utilizzando un tema child:

// Prezzi WooCommerce prodotti variabili senza range
function rox_varb_price_range( $wcv_price, $product ) {
 
    $prefix = sprintf('%s: ', __('A partire da:', 'wooprice_norange'));
 
    $wcv_reg_min_price = $product->get_variation_regular_price( 'min', true );
    $wcv_min_sale_price    = $product->get_variation_sale_price( 'min', true );
    $wcv_max_price = $product->get_variation_price( 'max', true );
    $wcv_min_price = $product->get_variation_price( 'min', true );
 
    $wcv_price = ( $wcv_min_sale_price == $wcv_reg_min_price ) ?
        wc_price( $wcv_reg_min_price ) :
        '<del>' . wc_price( $wcv_reg_min_price ) . '</del>' . '<ins>' . wc_price( $wcv_min_sale_price ) . '</ins>';
 
    return ( $wcv_min_price == $wcv_max_price ) ?
        $wcv_price :
        sprintf('%s%s', $prefix, $wcv_price);
}
 
add_filter( 'woocommerce_variable_sale_price_html', 'rox_varb_price_range', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'rox_varb_price_range', 10, 2 );

Il risultato รจ quello che si vede qui sotto.

Corsi di Formazione WordPress - Prezzi prodotti variabili WooCommerce corretti

Si puรฒ sostituire la stringa “A partire da:” della riga 4 con la formula preferita.

Al posto di “A partire da:”, molti preferiscono il semplice “Da:”, dato che su molti store in lingua inglese siamo abituati a vedere il piรน semplice “From:”

Lo snippet mantiene la differenza di prezzo nei prodotti scontati, anteponendo al prezzo in saldo il prezzo originale grigio e barrato.

Lo snippet รจ stato testato con WooCommerce 4.1.0, WordPress 5.4.1, e con i temi Storefront e Flatsome.

Aggiornamento e adattamento di un articolo originale del 17 febbraio 2014.

Condividi se ti รจ piaciuto!

Altri articoli che potrebbero interessarti:

Immagine di Roberto Rota

Roberto Rota

Libero professionista, un "artigiano del web", lavoro nella comunicazione in rete da quando esiste Internet. Mi occupo principalmente di assistenza su WordPress e assistenza e consulenza WooCommerce, seguo la realizzazione di progetti web, in particolare siti di e-commerce, visibilitร  e comunicazione in rete. Il mio curriculum รจ su Linkedin, e mi puoi trovare anche su Instagram, FaceBook e Twitter.

DAI IL TUO CONTRIBUTO

Se il mio lavoro ti รจ stato di aiuto, contribuisci alla continuitร  di questo sito.
Basta una piccola donazione su PayPal, una pizza e una birra alla tua salute!

50 risposte

  1. Ciao, grazie mille per il tuo lavoro. volevo sapere come elimare del tutto la stringa “a partire da” o “da..” vorrei che i prezzi si visualizzassero soltanto quando il cliente seleziona le caratteristiche e non fosse proprio visibile questa stringa. come dovrei fare? grazie mille

    1. Ciao Anna, quello che vuoi fare sembra un tantinello piรน complicato, bisogna creare uno snippet molto piรน complesso.

      Non mi hanno mai chiesto nulla del genere, dovrei fare un bel po’ di prove temo…

  2. Buonasera a tutti
    un aiuto per favore, sembrava aver raggiunto il mio obiettivo ma invece nada ๐Ÿ™
    Io importo i listini fornitore tramite URL (link .csv) tramite WP ALL Import Pro.
    Una volta importati i listini c’รจ qualche cosa anche tramite code snippets che mi fa impostare i prezzi con ricarico e Iva (22%) ?
    Inoltre c’รจ un modo per far aggiornare i file senza doverli reimportare ?
    Spero di essere stato chiaro ๐Ÿ™‚
    Grazie e buona serata

    1. Ciao Domenico, francamente non me l’hanno mai chiesto prima, non sono a conoscenza di sistemi che permettano di aggiungere un ricarico e le tasse ad un listino esportato in CSV.

      Magari tra i tanti plugin che permettono import/export in modo avanzato ce n’รจ qualcuno che fa qualcosa del genere, ma su due piedi non saprei consigliarti.

      Se mi capita di vedere qualcosa te lo dico.

      rob

      1. Ciao Roberto
        grazie mille per la tua celere risposta.
        In attesa di tue news continuo a “sbatterci la testa” perchรจ secondo me ci deve essere per forza un sistema.
        Thanks e buona serata

  3. Ciao, grazie! Ma c’รจ la possibilitร  di fare vedere invece solo il prezzo piรน alto per favore?
    grazie

    1. Ciao Marco, scusa il ritardo.

      Lo script ricava giร  il prezzo piรน alto, assieme a quello piรน basso, quindi credo che con qualche modifica allo script si possa fare

      Ovviamente dovrei fare qualche prova.

      rob

  4. Ciao, grazie per l’articolo, ho provato la modifica del file:
    [sito]/wp-content/themes/Divi/functions.php
    aggiungendo il tuo codice in fondo al listato, ma senza risultato.
    Versione di WooCommerce: 4.7.0
    Versione di WordPress: 5.5.3
    Potrebbe non essere piรน valido per questa release o sto editando il file sbagliato?
    Grazie

    1. Ciao Mirko

      diciamo che non รจ consigliabile modificare direttamente il file functions.php del tema, come anche altri files sempre del tema, perchรฉ al primo aggiornamento del tema perderesti tutte le personalizzazioni.

      Visto che non usi un tema child, ti consiglio un plugin come Code Snippets per inserire gli snippet php, vedi qui https://robrota.com/aggiungere-snippet-php-wordpress/

      Comunque in teoria lo snippet dovrebbe funzionare anche dove lo hai inserito, ho testato lo snippet con le nuove versioni di wordpress e woocommerce e non ha problemi, forse lo hai inserito male.

      Perรฒ non l’ho testato con Divi, non รจ un tema che uso spesso, ma non credo che Divi vada a influire su quei loop di WooCommerce.

      rob

      1. Ciao Roberto, grazie per la risposta, ho creato un child theme ed ho provato la modifica anche lรฌ, ma niente da fare, temo forse sia un problema del tema stesso, forse pone qualche limitazione che impedisce il caricamento del codice.
        Grazie lo stesso.
        Ciao

        1. Ciao Mirko, mi sembra davvero molto strano che Divi blocchi queste funzioni, ho molti dubbi in proposito, sono cose basiche per il funzionamento di WooCommerce.

          Purtroppo non ho un Divi con WooCommerce da provare, ma sono molto curioso…

  5. Ciao Roberto,

    veramente bella soluzione. Ma se volessi applicare questa funzione solo ad una specifica categoria?

    1. Ciao Gabriele,

      bisognerebbe guardarci visto che lo snippet agisce sia sul singolo prodotto che sui loop degli archivi, magari appena mi capita cerco di fare qualche prova.

      rob

  6. Ciao Roberto in un negozio dove si vendono merci al pezzo e merci al kg….
    come si imposta un “prezzo al Kg” per quel prodotto e il prezzo al pezzo per gli altri prodotti?
    Come me la cavo?

  7. Ciao Roberto,
    una domanda al volo, ho provato il codice da te creato e funziona perfettamente… l’unico mio problema รจ che mi sconpare anche la dicitura “iva esclusa”.

    Come posso risolvere questa cosa?

    Ti ringrazio anticipatamente!!

    1. Ciao Stefano, con un po’ di tempo a disposizione si potrebbe richiamare la funzione relativa alla dicitura, ma per una soluzione veloce puoi aggiungerla in html nella riga 13, nella pare che racchiude l’ultimo tag “ins”.

  8. sei un grandissimo! Grazie! Mi hai salvato. io lo Ho usato per il prezzo al kg. e ho modificato il codice impostandolo sul prezzo massimo (nel mio caso 1 kg). Posto qu se serve.

    // Use WC 2.0 variable price format
    add_filter( ‘woocommerce_variable_sale_price_html’, ‘wc_wc20_variation_price_format’, 10, 2 );
    add_filter( ‘woocommerce_variable_price_html’, ‘wc_wc20_variation_price_format’, 10, 2 );
    function wc_wc20_variation_price_format( $price, $product ) {
    $max_price = $product->get_variation_price( ‘max’, true );
    $price = sprintf( __( ‘Prezzo al kg: %1$s’, ‘woocommerce’ ), wc_price( $max_price ) );
    return $price;
    }

    Grazie ancora!

  9. salve chiedo un aiuto a tutti voi, io sono molto inesperta,
    stavo programmando uno sconto tramite codice coupon per i miei clienti.
    il problema รจ questo
    io effettuo giร  normalmente uno sconto ( ex โ€ข maglia โ‚ฌ57 barrato โ‚ฌ50)
    ora attivando un coupon sconto la percentuale viene applicata a โ‚ฌ50 mentre io vorrei fosse da โ‚ฌ57(prezzo di partenza prodotto)
    come posso sospendere momentaneamente questo nostro piccolo sconto senza andare a modificare ad uno uno i prezzi sia prima dell attivazione coupon / e ovviamente al termine dell utilizzo codice che i prezzi tornino con il nostro piccolo sconto.

    spero di essere riuscita a spiegarmi.

    grazie per l’aiuto.

    1. Ciao Roberta,

      l’unica opzione di WooCommerce รจ di non permettere l’utilizzo dei coupon sui prodotti in saldo, รจ nativa nella gestione dei coupon.

      rob

  10. Buongiorno.
    Ho realizzato un sito e-commerce che funziona perfettamente ma ora mi viene chiesto di permettere alle aziende con P.IVA europea, di poter acquistare i prodotti eliminando l’IVA nel carrello e nel conteggio, mentre deve rimanere per i clienti senza P.IVA.

    Ho inserito un plugin che tramite iscrizione al sito, applica uno sconto pari all’IVA ma la soluzione non piace ai miei clienti poichรฉ l’IVA viene ricalcolata comunque dopo lo sconto effettuato e che vorrebbero proprio eliminare la voce IVA dal carrello.

    Potrebbe aiutarmi a risolvere il problema?
    La ringrazio infinitamente.
    Ivano

      1. Ciao Roberto.
        Ora scarico il plugin e controllo le funzionalitร . Grazie infinite per il prezioso aiuto, non conoscevo questo plugin.
        Buona giornata e ancora grazie.
        Ivano

  11. Ciao Davide, Ciao R0berto, avete trovato la soluzione a questo dettaglio. Cioรจ visualizzare la strinfa a partire da solo se il prezzo รจ differente?

  12. Ciao a tutti,
    innanzitutto ringrazio Roberto per questo articolo perchรจ mi รจ stato utilissimo, molto chiaro e semplice nella spiegazione, soprattutto per me che sono agli inizi e non capisco molto di woo commerce. Ma ho un’altro problema da risolvere e spero che mi siate tutti d’aiuto.
    Ho modificato il file function php del mio tema (hill) e finalmente la dicitura “a partire da..” funziona, perรฒ non ho capito come impostare il prezzo piรน basso. Per essere piรน chiara : sto lavorando ad un sito dove ci sono delle variazioni sulla quantitร , ad esempio se acquisto 100 pezzi di un determinato articolo ho un prezzo, se ne acquisto 200 ne avrรฒ un altro e cosรฌ via. Ma ovviamente avendo associato il Bulk per le variazioni, mi applica il primo prezzo (cioรจ quello piu alto, in base alla quantitร  minima) per poter applicare la scontistica quando acquisto quantitร  maggiori.
    Come devo muovermi?

    1. Bella domanda…

      Ovviamente lo snippet prende il prezzo piรน basso direttamente dalle variazioni, ma se ci sono altri fattori di mezzo la faccenda si complica.

      Cosรฌ su due piedi non saprei, dipende da cosa usi per generare gli sconti. Se si tratta di un plugin, potresti chiedere supporto al suo sviluppatore mostrandogli lo snippet, magari sa giร  come adattarlo.

      rob

  13. ciao roberto, grazie per la soluzione che adesso fa al caso mio.
    Vorrei sapere una cosa: tutti parlate di tema child ma vi riferite al tema (estetico -twentyfourteen per esempio) oppure alla creazione di un tema child di woocommerce?

    Nel caso si trattasse di un tema child di woocommerce come devo fare per crearlo?

    1. Ciao Gian, credo tu abbia bisogno di un po’ di chiarezza sui temi child.

      Quando usi un tema su wordpress, se per caso lo modifichi uno dei suoi files al primo aggiornamento azzeri le modifiche.

      Per evitare questo, si crea un tema figlio, che si appoggia al tema originale, dove si creano tutte le modifiche del caso senza modificar eil tema originale.

      rob

  14. Ciao Roberto, stamattina ho aggiornato woocommerce all’ultima versione e adesso il filtro non funziona piรน! :*( che puรฒ essere successo? Grazie

  15. Ciao Roberto e grazie mille per l’utile articolo.
    L’unico problema รจ che nei prodotti in offerta non compare piรน il prezzo di listino barrato (che compariva anche di colore rosso) prima del prezzo reale di vendita nella lista dei prodotti.

    C’รจ un modo per modificare la funzione PHP e ripristinare questa funzionalitร ?
    Altrimenti scorrendo i prodotti non si capisce piรน quando un articolo รจ in offerta.

    Grazie mille!

  16. Ciao Roberto, grazie per l’articolo utilissimo per il mio caso.
    Ti chiedo perรฒ se รจ possibile, rimuovere la stringa “A partire da” dai prodotti variabili che non hanno variazione di prezzo.
    In quanto anche un prodotto variabile, dove c’รจ solo la variabile del colore ma con un unico prezzo viene mostrato anch’esso con la dicitura “A partire da”.
    Spero di essermi spiegato e ti ringrazio ancora

    1. Ciao Davide, ottima osservazione.

      Lo snippet รจ semplice, ricava il prezzo minore e aggiunge la stringa.

      Bisognerebbe lavorarci un po’, per trovare il modo di distinguere i prodotti variabili con un solo prezzo, non dovrebbe essere impossibile.

      rob

  17. ciao Roberto,
    ho aggiunto il codice scritto e funziona alla grande!!!
    Solo ch enella versione inglese non si traduce la scritta ” apartire da:” ..forse perchรจ si trova dentro il file functions.php?
    Come plugin di traduzione utilizzo wpml e nella ricerca delle stringhe non compare nulla.
    come posso fare?
    grazie ancora
    Mighรจ

  18. Ciao Roberto,
    stavo cercando proprio questa modifica! Condividiamo la stessa idea… meglio “A partire da”! Purtroppo non riesco a trovare il punto dove poter fare la modifica… mi potresti dire con esattezza il punto? Faccendo riferimento quindi al file function.php del theme..
    Ciao grazie mille
    DAVIDE

    1. Ciao Davide, quando si aggiunge una nuova funzione al file functions.php in genere le si inseriscono alla fine del file.

      รˆ sconsigliabile perรฒ modificare il tema originale ma usare un tema child, altrimenti al primo aggiornamento del tema perdi tutte le modifiche.

      rob

  19. Ciao. Replico a me stesso specificando che bastava aggiungere un argomento alla funzione sprintf.
    Quindi:

    sprintf( __( 'A partire da: %1$s', 'woocommerce', 'โ‚ฌ IVA incl.'), wc_price( $min_price ) );
    return $price;

  20. Ciao Rob!
    Una domanda: come posso aggiungere il suffisso dell’IVA al prezzo piรน basso?
    Con questo codice ora viene mostrato il prezzo piรน basso del range. Ma non ho piรน il suffisso della tassazione. I prezzi singoli, invece, sรฌ.
    Grazie sin d’ora per il tuo supporto.

    1. Ciao Alessandro, scusa. Ho lo stesso problema, vorrei visualizzare solo il prezzo piรน basso, ma non capisco dove modificare il codice. Puoi aiutarmi? grazie

  21. Carissimo Roberto volevo chiederti un aiuto: aggiornando woocommerce mi sono accorta che sono spariti i titoli che indicano gli attributi del prodotto nella frontend, come misura scegli xxl,xx e colore.

Lascia un commento

Il tuo indirizzo email non sarร  pubblicato. I campi obbligatori sono contrassegnati *

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.