- Author: Fahad Mahmood
- Project URI: http://androidbubble.com/blog/wordpress/plugins/woocommerce-discounts-plus
An amazing WooCommerce extension to implement multiple discount criterias with ultimate convenience.
Discounts Manager for Products is compatible with WooCommerce and s2Member Plugin.
woocommerce, discounts, percentage, s2Member, sales, memership, weight, membership levels, cart discounts, quantity
2) Setup membership levels and discount criteria with WooCommerce
Some examples of usage
If the customer orders more than 5 items of a given product
- You may want to feature the following discount policy in your store: if the customer
orders more than 5 items of a given product, he/she will pay the price of this order
line lowered by 10%.
Offering a 5% discount if the customer orders more than 10 items
- Or you may want a different policy, for example offering a 5% discount if the customer
orders more than 10 items of a product and a 10% discount if he/she orders more than
When the customer orders more than 10 items (say, 15, 20, etc.)
- Discounts Plus supports flat discounts in currency units as well,
enabling you to handle scenarios like deducting fixed value of, say $10 from the item subtotal.
For example, when the customer orders more than 10 items (say, 15, 20, etc.), a discount of $10
will be applied only on the subtotal price.
The settings for discounts are simple yet extensive, allowing wide range of discount
policies to be adopted in your store.
Here is the list of the main features:
- Possibility of setting percentage Discounts Plus or flat (fixed) Discounts Plus in currency units.
- Discounts Plus for product variations is supported to treat them separately or by shared quantity when discounting.
- Discount is better visible and is available on several locations (see below).
- Discount is visible on the Checkout page
- Discount is visible on the Order Details page
- Discount is visible in WooCommerce order e-mails and invoices as well.
- Showing the applied discount when hovering over the item price in the cart.
- Possibility of easily changing the CSS of the price before and after discount.
- Discounts Plus can or cannot be applied if a coupon code is used, depending on configuration.
- HTML markup is allowed in information about the Discounts Plus offer in Product Description.
- Discounts Plus can be disabled more easily in the Product Options page.
- Compatibility with WooCommerce 2.0.x, 2.1.x, 2.2.x.
** If you like Discounts Manager for Products, please also check out more premium plugins: **
This WordPress Plugin is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or any later version. This free software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this software. If not, see http://www.gnu.org/licenses/gpl-2.0.html.
- Download the latest version and extract it in the /wp-content/plugins/ directory
- Activate the plugin through the ‘Plugins’ menu in WordPress
Once the plugin is activated, you can use it as follows:
First navigate to WooCommerce settings. Under the Discounts Plus tab, find the global
configuration for Discounts Plus. Make sure «Discounts Plus Enabled» is checked and optionally
fill information about discounts which will be visible on the cart page. You can include HTML
markup in the text — you can, for instance, include a link to your page with your discount
policy. In case you need the plugin to work well with product variations, make sure that the
«Treat product variations separately» option is unchecked. Since version 2.0 you
may choose to use a flat discount applied to the cart item subtotal. Optionally you may also
modify the CSS styles for the old value and the new value which is displayed in the cart.
Save the settings.
Navigate to Products and choose a product for which you want to create a discount policy.
In the Product Data panel, click Discounts Plus and optionally fill information about the discount
which will be visible in the product description.
Click «Define discount criteria» button to create a policy. Quantity (min.) means minimal
number of ordered items so that the (second textbox) Discount applies. It is possible to
add up to five discount lines to fine-tune the discount setting.
How it works with WooCommerce single products?
How can you apply multiple discounts to a product through categories?
Are multiple discounts supported? How many levels of discounting may be applied?
Yes, multiple discounts (related to a single product) are supported. Currently it is possible to
set up to 5 discount lines. That should be enough for reasonable fine-tuning of the discount.
Is only a percentage discount implemented?
Since version 2.0 another type of discount is added, allowing you to set a fixed discount in currency units
for the cart item subtotal.
Will the discount be visible on WooCommerce e-mails and Order status as well?
Yes. Since version 2.0, this feature has been implemented.
Is it possible to handle discount for product variations as a whole?
Yes, in case you have several product variations in your store and you need to apply the discount
to all the purchased variations, please upgrade to the latest version of Discounts Plus.
This functionality can be disabled in Discounts Plus settings.
Is the plugin i18n ready?
Yes, the plugin supports localization files. You can add support for your language as well by the standard process.
Can you provide an example of setting a percentage Discounts Plus?
Sure. Below is an example of setting a Discounts Plus for a product with three discount lines.
- Quantity (min.) = 3, Discount (%) = 5
- Quantity (min.) = 8, Discount (%) = 10
- Quantity (min.) = 15, Discount (%) = 15
If the customer orders, say, 12 items of the product which costs $15 per item, the second
discount line will apply. The customer then pays 12 * 15 = 225 dollars in total minus
10%, which yields $202.5. Note that this discount policy only applies to the concrete product — other
products may have their own (possibly different) discount policies.
Can you provide an example of setting a flat Discounts Plus?
Example for flat discount follows:
- Quantity (min.) = 10, Discount ($) = 10
- Quantity (min.) = 30, Discount ($) = 20
If the customer orders, say, 15 items of the product which costs $10 per item, the first discount
line will apply and the customer will pay (15 * 10) — 10 dollars. If the customers orders
50 items, the second discount line will apply and the final price will be (50 * 10) — 20 dollars.
Setting Discounts Plus couldn’t have been easier.
Contributors & Developers
“Discounts Manager for Products” is open source software. The following people have contributed to this plugin.Contributors
Interested in development?
- Fix: Uncaught Error: Call to a member function get_type() on bool. [19/05/2023][Thanks to Rafał Chełpa]
- Improved version for s2Member (Pro) plugin. [12/05/2023][Thanks to Rafał Chełpa]
- Improved version for s2Member (Pro) plugin. [19/04/2023][Thanks to Rafał Chełpa]
- Improved version for WordPress 6.0. [02/06/2022][Thanks to Toby Cryns]
- Improved version after in depth review by the plugin author and WordPress Plugin Review Team.
- Free version revised with qty. based discounts.
- Undefined property: stdClass::$post_type — fixed. [Thanks to eurostratos]
- Light version revised.
- Language translation files updated.
- Discount methods revised and tested to ensure accuracy. [Thanks to Stephen Russell]
- Uncaught Error: Call to a member function WC->session->get(), fixed. [Thanks to justinmyoung]
- Discount Label/Caption added on settings page. [Thanks to Don Paul]
- Settings page revised and discount value ensured in email. [Thanks to Don Paul]
- WC Membership compatibility revised. [Thanks to Team Ibulb Work and Yonasr]
- session_write_close() inserted after using session. [Thanks to egocefalo]
- Made easy to understand premium features. [Thanks to Abu Usman]
- Made easy to understand premium features. [Thanks to Abu Usman]
- Made easy to understand premium features.
- An improvement made in script. [Thanks to seighart]
- PHP warning on cart page. Fixed. [Thanks to seighart]
- Tabs introduced for better usability and added visual aids as well. [Thanks to Team Ibulb Work and AndroidBubbles]
- Updated and improved UI and UX.
- «Number of decimals» will control the decimal places in this plugin from this version onwards. [Thanks to Behnam Khan]
- Updated round of discounts on percentage. [Thanks to justinmyoung]
- Updated for WP 5.4.
- Another PHP notice fixed. [Thanks to goedebuursilentdisco]
- Another PHP notice fixed.
- PHP notice fixed – Product properties should not be accessed directly. [Thanks to amiayu]
- Improved discount text in emails for percentage discount. [Thanks to collartags.com]
- Improved Gabriela & Jose’s Logic. [Thanks to collartags.com]
- Sprintf function issue fixed. [Thanks to donmcleman]
- Improved qty. discount range display. [Thanks to collartags.com]
- Fixed a minor echo thing on admin screen. [Thanks to collartags.com]
- Pricing scale text is editable from settings page now. [Thanks to Don Paul]
- Warning: sprintf(): Too few arguments issue resolved. [Thanks to amiayu]
- %% issue resolved. [Thanks to patowins]
- Languages added. [Thanks to Abu Usman]
- WooCommerce get_cart() uncaught fatal error fixed on product page. [David Currie]
- WooCommerce Memberships compatibility added using class_exists check WC_Memberships_Loader. [David Currie]
- Flat discount > cart page > subtotal section correction. [David Currie]
- Flat discount updated price round float number format correction. [Thanks to Tom C]
- Flat discount updated price formula refined. [Thanks to Sadaf]
- Pricing scale turned ON by default. [Thanks to Sadaf Parvez]
- Fixed a few PHP notices regarding undefined variable and wrong usage of parent_id with product object. [Thanks to Sadaf Naz]
- Fixed a PHP notice regarding undefined variable unit price. [Thanks to mareklukas]
- Refined a few Premium features regarding weight based discounts. [Thanks to Ryan Chan]
- Fixed a PHP notice regarding undefined index 0. [Thanks to mareklukas]
- Fixed a Premium feature regarding settings page. [Thanks to Ryan Chan]
- Refined pricing scale display area and also fixed the decimal positions. [Thanks to cccnate]
- Refined and tested varitions discount criteria. [Thanks to Andrea Tarricone]
- Undefined constant WDP_PER_PRODUCT related warning fixed. [Thanks to Angelo]
- Protected function get_product_id call corrected. [Thanks to Konstantinos Zachos]
- Refined the varitions related discount aspect. [Thanks to Andrea Tarricone]
- Call to undefined method WC_Product_Simple::get_id() error fixed. Changes made in index.php on line 1054. [Thanks to Andrew]
- Discounts display on product page now added as an option in product page settings. [Thanks to Michiel]
- Category based discount feature refined and explained in the video tutorial again. [Thanks to Mouring Kolhoff]
- Added another compatibility with latest version of the WooCommerce. [Thanks to cathydol]
- s2member compatibility nonce related bug fixed. [Thanks to blastostitch]
- Display price issue in admin panel price column resolved. [Thanks to Dharmishtha Patel]
- WooCommerce > Cart Page > Old price was having 4 decimals > Fixed. [Thanks to Nate Melanson]
- Settings page > turn discounted price as display price on loop and single product pages. [Thanks to Breda McGuigan]
- User roles are added with multiple selection to ignore. If you don’t want to allow a user role to get discounts. [Thanks to Jim Yow]
- Weight based discounts improved with multiple quantities. [Thanks to Dimitar Tsankov]
- Sanitized input and fixed direct file access issues.
- Discounts available with shipment conditions and can be restricted on user decision. [Thanks to Jon Siddall]
- Currency symbol position implemented as from WooCommerce settings page. [Thanks to grupa]
- Discounts available with shipment conditions. [Thanks to Jon Siddall]
- After discounts applied, prices were missing decimal values. Fixed. [Thanks to Greg Nowak]
- Weight based discounts introduced. [Thanks to Jon Siddall]
- Flat discounts refined for variable products. [Thanks to Paul Day]
- Flat discounts refined.
- Discounts refined and new features added. [Thanks to Scott McClain]
- Refining conditions and settings.
- Checkout process refined. [Thanks to shameemali]
- Variable products refined. [Thanks to Scott McClain]
- An important Fatal Error fixed on report. [Thanks to actionarchery]
- A few warnings were reported and those are fixed. [Thanks to scottmcx]
- Variable products refined. [Thanks to Jocelyne]
- Flat discount refined. [Thanks to Andy]
- Global settings improved. [Thanks to Jose & Gabriela]
- Global discounts crieteria and per product discount criteria, both are in action at the same time from now.
- Discount on cart total quanity introduced this time as a new optional logic.
- Flat discount global settings refined. [Thanks to GP Themes Team]
- Flat discount per product refined. [Thanks to Paul & NemoPro]
- A minor issue fixed in flat discount per product. [Thanks to Paul Braoudakis]
- s2member compatibility added.
- A few important fixes. [Thanks to nextime]
- Discounted prices should not be considered for discount again.
- Discounted prices should not be considered for discount again.
- Discounted prices on cart page. [Thanks to Alois]
- Global settings are introduced and a useful widget for discounts detail under product short description. [Thanks to nameez]
- Releasing 1.0 version.