-
-
Save kloon/8981075 to your computer and use it in GitHub Desktop.
/** | |
* 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 ); |
Works great, thx for that!
One minor bug: the suffix you can set in WooCommerce/Settings/Tax/Price display suffix is no longer displayed for variable products.
I unsuccessfully tried to implement the below from the woo themes docs:
http://docs.woothemes.com/wc-apidocs/source-class-WC_Product.html
/**
* Get the suffix to display after prices > 0
* @return string
*/
public function get_price_suffix() {
$price_display_suffix = get_option( 'woocommerce_price_display_suffix' );
if ( $price_display_suffix ) {
$price_display_suffix = ' <small class="woocommerce-price-suffix">' . $price_display_suffix . '</small>';
$find = array(
'{price_including_tax}',
'{price_excluding_tax}'
);
$replace = array(
wc_price( $this->get_price_including_tax() ),
wc_price( $this->get_price_excluding_tax() )
);
$price_display_suffix = str_replace( $find, $replace, $price_display_suffix );
}
return apply_filters( 'woocommerce_get_price_suffix', $price_display_suffix, $this );
}
Any thoughts?
Works a treat, thanks for sharing this!
Hi to you all!
I'm searching for a solution like the one YogY11 wrote above.
How can I add a suffix text like "VAT incl." after the lowest price?
Many thanks in advance!
_EDIT_
I simply added . 'some text';
after return $price
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 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?
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
The recent update for this is still showing the "FROM:" pricing. Does anyone have any suggestion or workarounds for this issue?
Many thanks..
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,
Al5ki
Thanks. this worked like a charm.
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?
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.