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.
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.

50 risposte
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
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…
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
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
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
Ciao, grazie! Ma c’รจ la possibilitร di fare vedere invece solo il prezzo piรน alto per favore?
grazie
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
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
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
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
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…
Ciao Roberto,
veramente bella soluzione. Ma se volessi applicare questa funzione solo ad una specifica categoria?
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
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?
In teoria un prezzo รจ un prezzo, che sia di una unitร o di 1 Kg o di un metro.
Sta a te specificarlo nel prodotto nel modo migliore
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!!
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”.
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!
Grazie a te per il tuo feedback!
rob
Ho testato questo codice ma blocca tutto…e non funziona cpn wordpress 5.4.2 e woocommerce 4.2.2
Appena controllato per scrupolo, e funziona correttamente con le ultime versioni di WP e WooCommerce
Devi aver sbagliato qualcosa.
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.
Ciao Roberta,
l’unica opzione di WooCommerce รจ di non permettere l’utilizzo dei coupon sui prodotti in saldo, รจ nativa nella gestione dei coupon.
rob
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
Ciao Ivano, se non ricordo male il plugin Fiscalitร Italiana https://it.wordpress.org/plugins/woo-fiscalita-italiana/ si comporta correttamente in queste situazioni
Rimane perรฒ il fatto che il calcolo avviene al momento in cui il cliente inserisce il proprio indirizzo.
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
Ciao Davide, Ciao R0berto, avete trovato la soluzione a questo dettaglio. Cioรจ visualizzare la strinfa a partire da solo se il prezzo รจ differente?
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?
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
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?
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
allora avevo capito bene. tema child fatto!
๐
Ciao Roberto, stamattina ho aggiornato woocommerce all’ultima versione e adesso il filtro non funziona piรน! :*( che puรฒ essere successo? Grazie
Ti ringrazio della segnalazione, appena posso verifico.
Roberto
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!
Ciao Davide, non c’ho fatto caso al prezzo barrato, dovrei fare qualche verifica.
rob
Ok grazie, attendo tue!
Un caro saluto
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
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
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รจ
Ciao Michele,
puoi usare lo snippet associato ad un condizionale PHP basato sulla lingua della pagina determinata da WPML.
rob
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
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
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;
Grazie per aver condiviso ๐
rob
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.
Ciao Alessandro, scusa. Ho lo stesso problema, vorrei visualizzare solo il prezzo piรน basso, ma non capisco dove modificare il codice. Puoi aiutarmi? grazie
Ciao Debora, devi sostituire le righe 6 e 7 con quelle proposte da Alessandro.
rob
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.
Ciao Elisa, potrebbe dipendere anche dal tema in uso.
rob