W WooCommerce format zmiennych cen produktów może być nieco mylący.
Najwyższa i najniższa cena są oddzielone myślnikiem w następujący sposób:
Ten sposób wyświetlania cen na produktach zmiennych nie należy do najbardziej intuicyjnych na świecie.
W tym samouczku zobaczymy, jak to zmienić, aby zamiast pojawiać się jako przedział cenowy, pojawiało się „Od 35 €”
Będąc wynikiem:
Suscríbete a mi kanał:
Aby to osiągnąć musimy dodać następujący kod w pliku functions.php naszego szablonu.
Pamiętaj, że jeśli zamierzasz dokonać zmian w plikach szablonów, dobrze jest użyć motywu potomnego i oczywiście zrobić kopię zapasową swojej witryny 😉
/** * 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 );
Możesz zmienić słowo „Od” na inne w zmiennej $prefix = »;
Mam nadzieję, że ci się przyda 😉
pozdrowienia
Oscar