Woocommerce prezzo a partire da

WooCommerce prezzi a partire da

Proprio come avviene offline, ad esempio nelle vetrine dei negozi, la maggior parte dei prodotti che troviamo online contengono il prezzo minimo dell’articolo ma non il prezzo massimo.

C’è un ottimo motivo:

Il classico effetto tranquillizzante della frase “a partire da”.

Ovviamente non lo dico io, ma ci sono ricerche scientifiche e psicologiche su come i consumatori reagiscono ai prezzi che suggeriscono proprio di evitare di menzionare il prezzo massimo.

Ma cosa c’entra questo con il nostro negozio online realizzato con WordPress e WooCommerce?

Il problema è che, se nel tuo e-commerce hai un prodotto variabile e ogni variazione ha un costo diverso, allora WooCommerce visualizzerà l’intervallo di prezzi completo. Ad esempio, se il prodotto variabile ha 3 variazioni, con prezzi:

Variazione 1 – 10,00€

Variazione 2 – 12,00€

Variazione 3 – 20,00€

WooCommerce visualizzerà il prezzo  in questo modo:

“10,00€ – 20,00€”

Se invece del range completo di prezzi, per i motivi di cui abbiamo parlato sopra o per qualsiasi altro motivo estetico, o ancora per qualsiasi tua altra esigenza, vuoi fare in modo che il prezzo venga visualizzato nel seguente formato:

“A partire da 10,00€”

ti basterà inserire il seguente codice PHP all’interno del file functions.php del tuo tema (o ancora meglio, del tuo child-theme).

/**
* BLOGWP.IT - cambiare il formato dei prezzi in WooCommerce con "a partire da"
*/
function blogwp_wc_format_change( $price, $product ) {

$text = sprintf('%s: ', __('A partire da', 'iconic'));

$price_min_regular = $product->get_variation_regular_price( 'min', true );
$price_min_sale = $product->get_variation_sale_price( 'min', true );
$maximum_price = $product->get_variation_price( 'max', true );
$minimum_price = $product->get_variation_price( 'min', true );

$price = ( $price_min_sale == $price_min_regular ) ? wc_price( $price_min_regular ) : '' . wc_price( $price_min_regular ) . '' . '' . wc_price( $price_min_sale ) . '';

return ( $minimum_price == $maximum_price ) ? $price : sprintf('%s%s', $text, $price);

}

add_filter( 'woocommerce_variable_sale_price_html', 'blogwp_wc_format_change', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'blogwp_wc_format_change', 10, 2 );

Per inserire un testo diverso da “A partire da”, ti basterà modificare la variabile $text.

Se ti è piaciuto questo articolo, come al solito, ti invito a condividerlo sulla tua bacheca o inviarlo a chiunque pensi che possa trarne beneficio!

Ciao,

Massimiliano

6 commenti
  1. daniele

    fantastico. grazie mille.
    Ps. devo però risolvere un problema. Se al prodotto variabile è associato anche uno sconto la tua funzione “sbrocca”… ;-) fammi sapere se per caso hai avuto altre segnalazioni simili.

    Rispondi
    • Massimiliano De Stefano
      Massimiliano De Stefano dice:

      Ciao Daniele,

      Prego, mi fa piacere che l’articolo ti sia stato utile! ;-)

      No, niente segnalazioni simili. Se vuoi una consulenza specifica per il tuo problema scrivimi pure in chat messenger oppure tramite la pagina contatti!

      Ciao,
      Massimiliano

      Rispondi
      • michele

        Ciao, articolo fantastico solo che anche a me da lo stesso tipo di problema, sui prodotti con lo sconto il codice non funziona bene, si vedono i due prezzi uno accanto all’altro, invertiti e senza separatore.

      • Massimiliano De Stefano
        Massimiliano De Stefano dice:

        Ciao Michele,

        Sono felice che anche a te questo articolo sia piaciuto e che ti sia stato utile!

        Ho capito la problematica e, in effetti, nel mio caso non c’era bisogno di avere prodotti con lo sconto.

        Come scrivo sopra anche a Daniele e come spiego anche nella mia pagina “about“, in questo blog inserisco soluzioni generiche a problemi che risolvo mentre lavoro ai siti dei miei clienti. Per soluzioni specifiche “custom”, come potrai immaginare, devo dedicare del tempo a fare dei test e delle ricerche, quindi è un’attività che va quotata.

        Se ti interessa, scrivimi attraverso il form che si trova nella pagina contatti!

        Buona giornata!
        Massimiliano

  2. Valeria

    Ciao, se volessi applicare questo codice ad un prodotto semplice, un solo prodotto in particolare, come si potrebbe fare?
    Ho un prodotto semplice con aggiunta di opzioni (e relativi supplementi) tramite plugin.
    Grazie

    Rispondi
    • Massimiliano De Stefano
      Massimiliano De Stefano dice:

      Ciao Valeria,

      Cerca tra i template tags (le funzioni predefinite di WP) qualcosa che ti restituisca l’ID del prodotto e aggiungi un IF in cui applichi il codice descritto nell’articolo solo quando l’ID del prodotto combacia.

      Massimiliano

      Rispondi

Lascia un Commento

Vuoi partecipare alla discussione?
Sentitevi liberi di contribuire!

Lascia un commento

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