Display percentage of savings on sale badge - WooCommerce
In WooCommerce, if an item have a sale price (special price), there will be a savings for your customer. In default, WooCommerce display a sale badge on such instance.
Instead of displaying this plain sale badge, we can display the percentage of saving on this sale badge & it will help to increase the sales.
add_filter('woocommerce_sale_flash', 'tr245_woo_savings_on_sales_flash');
function tr245_woo_savings_on_sales_flash()
{
global $post, $product;
if ( ! $product->is_in_stock() ) return;
$sale_price = get_post_meta( $product->id, '_price', true);
$regular_price = get_post_meta( $product->id, '_regular_price', true);
if (empty($regular_price)){ //then this is a variable product
$available_variations = $product->get_available_variations();
$variation_id=$available_variations[0]['variation_id'];
$variation= new WC_Product_Variation( $variation_id );
$regular_price = $variation ->regular_price;
$sale_price = $variation ->sale_price;
}
$savings = ceil(( ($regular_price - $sale_price) / $regular_price ) * 100);
$sale_flash = '<span class="onsale"> - ' . $savings . '%</span>';
return $sale_flash;
}
Got a project in mind? Send me a quick message, and I'll get back to you within 24 hours!.
Recent Posts
- Disabling Payment Methods in WooCommerce Based on Conditions
- How to Update Product Quantity in WooCommerce Using Custom Code
- Dynamically Generating a Table of Contents in WordPress
- Direct Checkout in WooCommerce - Add Product to Cart from Checkout Page & Skip Shop, Product, and Cart Pages
- Understanding the Impact of git reset --hard Command
Your Questions / Comments
If you found this article interesting, found errors, or just want to discuss about it, please get in touch.