Wp: Mostrare il prezzo dei prodotti in kg

Se utilizzi WordPress per il tuo ecommerce e sei un venditore di Cibo Fresco o in generale di prodotti che vanno venduti in base al peso, ti è potuta nascere la domanda: Ma come faccio a far visualizzare i prezzi dei miei prodotti in Kg?

Io mi sono posto questa domanda, quando lavoravo al progetto di Macelleria Online, la piattaforma che vende online carne fresca

Macelleria Online utilizza sul suo ecommerce i prodotti variabili. Il che vuol dire che per ogni prodotto ci sono vari filtri e l’utente può selezionare la variazione che gli serve (0.5 Kg, 1 Kg, 1,5Kg….)

Il problema è che quando si utilizzano le variazioni in wordpress, i prezzi vengono visualizzati sotto forma di Range mostrando il minimo prezzo ed il massimo prezzo. Questa impostazione predefinita di wordpress è poco User friendly ed è anche una pessima scelta a livello di Marketing.

Lo script che vi propongo va ad aggiungere il valore 0.5 Kg dinanzi al prezzo dei tuoi prodotti variabili, mostrando solo il valore minimo.

Questo script cambia completamente la struttura dei prezzi di tutti i prodotti variabili sul tuo ecommerce quindi assicurati che tutti i prodotti abbiano lo stesso quantitativo minimo.

Ti faccio un esempio: su Macelleria Online un utente può acquistare minimo 0.5 kg di ogni prodotto. Se per te il minimo è 1 Kg devi modificare lo script e aggiungere 1Kg al posto di 0.5 kg (nella seconda riga del codice). Devi però poi essere sicuro che tutti i prodotti abbiano la stessa variazione minima in quanto lo script prende in considerazione sempre il valore minimo. Il che vuol dire che se per un prodotto decidi di settare come minimo 5Kg e poi nello script hai settato 1kg, il prezzo risulterà col valore minimo di 5Kg ma con l’identificazione di 1 Kg.

Copiate questo codice e incollatelo alla fine del file Function.php del vostro editor del tema.

Quindi vai nella Dashboard–>Aspetto–>Edtor del tema–>Function.php–>incollate lo script–> Salva

function iconic_variable_price_format( $price, $product ) {
 
    $prefix = sprintf('%s: ', __('0.5 Kg', 'iconic'));
 
    $min_price_regular = $product->get_variation_regular_price( 'min', true );
    $min_price_sale    = $product->get_variation_sale_price( 'min', true );
    $max_price = $product->get_variation_price( 'max', true );
    $min_price = $product->get_variation_price( 'min', true );
 
    $price = ( $min_price_sale == $min_price_regular ) ?
        wc_price( $min_price_regular ) :
        '<del>' . wc_price( $min_price_regular ) . '</del>' . '<ins>' . wc_price( $min_price_sale ) . '</ins>';
 
    return ( $min_price == $max_price ) ?
        $price :
        sprintf('%s%s', $prefix, $price);
 
}
 
add_filter( 'woocommerce_variable_sale_price_html', 'iconic_variable_price_format', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'iconic_variable_price_format', 10, 2 );

Lascia un commento

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