-
-
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 ); |
@josedebaires functions.php is in your theme, not in WooCommerce plugin.
is there a solution for the group product too? i would have it back to the WC 2.0 too. thanks
all good. found it here:
http://gerhardpotgieter.com/2014/02/24/woocommerce-2-1-grouped-prices-revert-to-woocommerce-2-0-format/
thanks for that!
If you want this to reflect on Composite Products you can edit this row in class-wc-product-bto.php
change:
if ( ! $woocommerce_bto_helpers->is_wc_21() )
return $this->get_price_html_20();
to:
if ( $woocommerce_bto_helpers->is_wc_21() )
return $this->get_price_html_20();
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.
Hello, i still have the price ranges for composite Porducts - can someone help me out?
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.
i'd lost "from" with the update... so many thanks! With this, it's back :D
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!
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.
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?
Hi, where's functions.php? in woocomerce? can not find it
Thanks for your help