In WooCommerce il formato dei prezzi dei prodotti variabili può essere un po' confuso.
I prezzi più alti e più bassi sono separati da un trattino come segue:
Questo modo di visualizzare i prezzi sui prodotti variabili non è il più intuitivo al mondo.
In questo tutorial vedremo come modificarlo in modo che invece di apparire come fascia di prezzo appaia "Da 35€"
Essendo il risultato:
Iscriviti a un canale mi:
Per ottenere ciò dobbiamo aggiungere il seguente codice nel file functions.php del nostro template.
Ricorda che se hai intenzione di apportare modifiche ai file del modello, è consigliabile utilizzare un tema figlio e ovviamente fare un backup del tuo sito web 😉
/** * Change price format from range to "From:" * * @param float $price * @param obj $product * @return str */ function iconic_variable_price_format( $price, $product ) { $prefix = sprintf('%s: ', __('Desde', '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 );
Puoi cambiare la parola "From" con un'altra nella variabile $prefix = »;
Spero che ti sarà utile 😉
saluti
Oscar