/** | |
* Use WC 2.0 variable price format, now include sale price strikeout | |
* | |
* @param string $price | |
* @param object $product | |
* @return string | |
*/ | |
function wc_wc20_variation_price_format( $price, $product ) { | |
// Main Price | |
$prices = array( $product->get_variation_price( 'min', true ), $product->get_variation_price( 'max', true ) ); | |
$price = $prices[0] !== $prices[1] ? sprintf( __( 'From: %1$s', 'woocommerce' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] ); | |
// Sale Price | |
$prices = array( $product->get_variation_regular_price( 'min', true ), $product->get_variation_regular_price( 'max', true ) ); | |
sort( $prices ); | |
$saleprice = $prices[0] !== $prices[1] ? sprintf( __( 'From: %1$s', 'woocommerce' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] ); | |
if ( $price !== $saleprice ) { | |
$price = '<del>' . $saleprice . '</del> <ins>' . $price . '</ins>'; | |
} | |
return $price; | |
} | |
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 ); |
This comment has been minimized.
This comment has been minimized.
Thanks for the update @stevenTieulle, I updated the snippet to reflect your changes :) |
This comment has been minimized.
This comment has been minimized.
thanks guys. any idea why this might not work with product categories? in my case any of the codes does change the display format. thanks |
This comment has been minimized.
This comment has been minimized.
Just updated the code again to make it exactly like 2.0, so should support sale prices now as well. |
This comment has been minimized.
This comment has been minimized.
yeah. i tried everything - i wonder why i doesnt work in my case... |
This comment has been minimized.
This comment has been minimized.
Hi, where's functions.php? in woocomerce? can not find it |
This comment has been minimized.
This comment has been minimized.
@josedebaires functions.php is in your theme, not in WooCommerce plugin. |
This comment has been minimized.
This comment has been minimized.
is there a solution for the group product too? i would have it back to the WC 2.0 too. thanks |
This comment has been minimized.
This comment has been minimized.
all good. found it here: |
This comment has been minimized.
This comment has been minimized.
If you want this to reflect on Composite Products you can edit this row in class-wc-product-bto.php change: to: I don't know how to make it in my child theme functions.php but if anyone got more skills than me, please update me. |
This comment has been minimized.
This comment has been minimized.
Hello, i still have the price ranges for composite Porducts - can someone help me out? |
This comment has been minimized.
This comment has been minimized.
Hi, I've added this code to my function.php file but after I added this code whenever I clear my cache or update/post a new product, page, post, etc, wordpress/woocommerce will update or complete the action I am trying to do but it then always takes me to a blank white page not to the page it should. eg. I click publish and public a new product but I am taken to a blank white screen, not back to the updated product page of my dashboard. Is anyone else having this issue? thanks. |
This comment has been minimized.
This comment has been minimized.
i'd lost "from" with the update... so many thanks! With this, it's back :D |
This comment has been minimized.
This comment has been minimized.
When I add this to the functions.php it works for the individual product pages, but when I try to view the store/shop page it states: Warning: Cannot modify header information - headers already sent by (output started at XXXX/functions.php:262) in XXX/wp-includes/pluggable.php on line 1121 I've already checked the wp-config file and it does not have additional spaces. I have no plugins enabled except for woocommerce. The pluggable.php file is missing the " >? " (without quotes) When I add the " >? " to pluggable.php, it fixes the store/shop page, but my checkout page still shows the aforementioned error. Any idea what causes this and how to fix it? Thanks! |
This comment has been minimized.
This comment has been minimized.
Never mind, I fixed it. I removed this code's " <?php " and the " >? " (without quotes) before adding it to the functions.php file. It now works. |
This comment has been minimized.
This comment has been minimized.
Works great, thx for that! I unsuccessfully tried to implement the below from the woo themes docs:
Any thoughts? |
This comment has been minimized.
This comment has been minimized.
Works a treat, thanks for sharing this! |
This comment has been minimized.
This comment has been minimized.
Hi to you all! _EDIT_ |
This comment has been minimized.
This comment has been minimized.
Is it possible to have a hook that would completely override the pricing and use text instead. I know its a strange request but Its something I need to do and I can't find an answer anywhere. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This worked great for me until I updated WooCommerce to 4.0 and my theme (The Retailer). Now, it causes my shopping cart to go wonky—instead of "Choose an option" the menu reads the first price option and the number in the middle of my " - " and " + " "Add to Cart" disappears! Any ideas on how to revert the price to the "FROM" format without the other issues? |
This comment has been minimized.
This comment has been minimized.
Hi people, 1st of all, Thanks for sharing... It was working perfectly, but somehow it's not working anymore , but breaking the site! I have a problem with the snippet, getting Server internal error 500 after implementing in functions.php My Ajax cart is working and then the error 500 appears and the white screen... seems to be in conflict with this YITH Ajax plugin... also I got this error message: anybody knows what can be wrong?? PHP Warning: Cannot modify header information - headers already sent by (output started at /home/organicb/public_html/wp-content/themes/flatsome-child/functions.php:20) in /home/organicb/public_html/wp-includes/pluggable.php on line 1121 |
This comment has been minimized.
This comment has been minimized.
The recent update for this is still showing the "FROM:" pricing. Does anyone have any suggestion or workarounds for this issue? |
This comment has been minimized.
This comment has been minimized.
Many thanks.. |
This comment has been minimized.
This comment has been minimized.
Hi guys, I would really appreciate some help on this issue, the above code works great, so thanks for everyone who collaborated on it. However,I need to show the price including tax, I have tried reverse engineering other codes and merging to no avail. Can anyone help? Also, I would ideally like to show the term From: on every product, not just the ones with different prices, if that's possible somehow? Many thanks in advance, |
This comment has been minimized.
This comment has been minimized.
Thanks. this worked like a charm. |
This comment has been minimized.
This comment has been minimized.
Have been using this for quite a while now, but I'm in the progress of adding a language to my webshop. Does anyone know a fix for this? |
This comment has been minimized.
Works great, but still show From: on items with multiple variations but same price. (IE clothing sizes) The edited code below fixes that:
get_variation_price( 'min', true ); $max_price = $product->get_variation_price( 'max', true ); if ($min_price != $max_price){ $price = sprintf( __( 'From: %1$s', 'woocommerce' ), wc_price( $min_price ) ); return $price; } else { $price = sprintf( __( '%1$s', 'woocommerce' ), wc_price( $min_price ) ); return $price; } } ?>