WordPress.org

Plugin Reviews

WooCommerce Smart Sale Badge

Enhances the WooCommerce sale badge by displaying the total saving a customer will receive.

4 reviews
Average Rating
4.6 out of 5 stars
You are currently viewing the reviews that provided a rating of 5 stars. Click here to see all reviews.
sales badge in percent
By , for WP 4.4.1

this plugin is great! i made small mod to show sale in percent:

<?php

if ( ! defined( 'ABSPATH' ) ) exit;

class WooCommerce_Smart_Sale_Badge {
	private $dir;
	private $file;

	public function __construct( $file ) {
		$this->dir = dirname( $file );
		$this->file = $file;

		// Handle localisation
		$this->load_plugin_textdomain();
		add_action( 'init', array( &$this, 'load_localisation' ), 0 );

		add_filter( 'woocommerce_sale_flash', array( &$this, 'badge_sale_amount' ), 10, 3 );
	}

	public function badge_sale_amount( $message, $post, $product ) {

		$saving_amount = 0;

		if ( $product->has_child() ) {

			// Loop through children if this is a variable product
			foreach ( $product->get_children() as $child_id ) {

				$regular_price = get_post_meta( $child_id, '_regular_price', true );
				$sale_price = get_post_meta( $child_id, '_sale_price', true );

				if( $regular_price != '' && $sale_price != '' && $regular_price > $sale_price ) {
					$new_saving_amount = $regular_price - $sale_price;

					// Only display the largest saving amount
					if( $new_saving_amount > $saving_amount ) {
						$saving_amount = $new_saving_amount;
					}
				}

			}

			$button_text = apply_filters("wc_smart_sale_badge_title", __( 'Do', 'wc_smart_sale_badge' ), $product->has_child(), $product);

		} else {

			// Fetch prices for simple products
			$regular_price = get_post_meta( $post->ID, '_regular_price', true );
			$sale_price = get_post_meta( $post->ID, '_sale_price', true );

			if( $regular_price != '' && $sale_price != '' && $regular_price > $sale_price ) {
				$saving_amount = $regular_price - $sale_price;
			}

			$button_text = apply_filters("wc_smart_sale_badge_title", __( '', 'wc_smart_sale_badge' ), $product->has_child(), $product);

		}

		// Only modify badge if saving amount is larger than 0
		if( $saving_amount > 0 ) {
			$saving_price = woocommerce_price( $saving_amount );
			$percentage = round( ( ( $product->regular_price - $product->sale_price ) / $product->regular_price ) * 100 );
			$saving_price_r = apply_filters("wc_smart_sale_badge_price", sprintf( __( ' %s!', 'wc_smart_sale_badge' ), $saving_price ), $saving_price, $product);
			$message = '<span class="onsale">' . $button_text .'-'. $percentage .'%'. '</span>';
		}

		return $message;
	}

	public function load_localisation() {
		load_plugin_textdomain( 'wc_smart_sale_badge' , false , dirname( plugin_basename( $this->file ) ) . '/lang/' );
	}

	public function load_plugin_textdomain() {
	    $domain = 'wc_smart_sale_badge';

	    $locale = apply_filters( 'plugin_locale' , get_locale() , $domain );

	    load_textdomain( $domain , WP_LANG_DIR . '/' . $domain . '/' . $domain . '-' . $locale . '.mo' );
	    load_plugin_textdomain( $domain , FALSE , dirname( plugin_basename( $this->file ) ) . '/lang/' );
	}

}
The perfect free solution I have found
By , for WP 3.9.1

It works great

small and nice
By ,

Jus that little enhancement i was looking for

Amazing Plugin!
By , for WP 3.5.1

Wow! It´s an amazing plugin for woocommerce, works just great, very light, and i really think it should increase the sales!

You must log in to submit a review. You can also log in or register using the form near the top of this page.