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 20 items.
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: **
License
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.
Installation
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.
Screenshots
Features at a Glance
WooCommerce Products Listing
WooCommerce Product Discount Criterias
WooCommerce Cart View - Need Discounts? (Pro Feature)
WooCommerce Cart View - Need Discounts? Clicked (Pro Feature)
WooCommerce Cart View - Discounts On Multiple Products (Pro Feature)
WooCommerce Cart View - Boost Your Sales With This Plugin (Pro Feature)
WooCommerce Cart - Order Review (Pro Feature)
Setup Discounts with s2member Plugin
Gabriel & Jose's Logic
Discount Available Contionally - No Shipping or Only Shipping
Global Criteria
Category Based Criteria
Cart Amount Based Criteria
Error Messages (Customization)
WooCommerce Settings Area
How multiple categories based discount work?
FAQ
How it works with WooCommerce single products?
How can you apply multiple discounts to a product through categories?
How doest it work with multiple products with categories based discounts?
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.
Changelog
3.5.3
Fix: Reduced the number of iterations for item price filter while calculating the discounts. [26/05/2024][Thanks to Sidney Nourry]
3.5.2
Fix: Reduced the number of iterations for item price filter while calculating the discounts. [16/05/2024][Thanks to Sidney Nourry]
3.5.1
Updating for the WordPress version. [17/01/2024][Thanks to gtcdesign]
3.5.0
Fix: Uncaught Error: Call to a member function get_type() on bool. [19/05/2023][Thanks to Rafał Chełpa]
3.4.9
Improved version for s2Member (Pro) plugin. [12/05/2023][Thanks to Rafał Chełpa]
3.4.8
Improved version for s2Member (Pro) plugin. [19/04/2023][Thanks to Rafał Chełpa]
3.4.7
Improved version for WordPress 6.0. [02/06/2022][Thanks to Toby Cryns]
3.4.6
3.4.5
3.4.4
3.4.3
3.4.2
Improved version after in depth review by the plugin author and WordPress Plugin Review Team.
3.4.1
Free version revised with qty. based discounts.
3.4.0
Undefined property: stdClass::$post_type – fixed. [Thanks to eurostratos]
3.3.9
Light version revised.
3.3.8
Language translation files updated.
3.3.7
Discount methods revised and tested to ensure accuracy. [Thanks to Stephen Russell]
3.3.6
Uncaught Error: Call to a member function WC->session->get(), fixed. [Thanks to justinmyoung]
3.3.5
Discount Label/Caption added on settings page. [Thanks to Don Paul]
3.3.4
Settings page revised and discount value ensured in email. [Thanks to Don Paul]
3.3.3
WC Membership compatibility revised. [Thanks to Team Ibulb Work and Yonasr]
3.3.2
session_write_close() inserted after using session. [Thanks to egocefalo]
3.3.1
Made easy to understand premium features. [Thanks to Abu Usman]
3.3.0
Made easy to understand premium features. [Thanks to Abu Usman]
3.2.9
Made easy to understand premium features.
3.2.8
An improvement made in script. [Thanks to seighart]
3.2.7
PHP warning on cart page. Fixed. [Thanks to seighart]
3.2.6
Tabs introduced for better usability and added visual aids as well. [Thanks to Team Ibulb Work and AndroidBubbles]
3.2.5
Updated and improved UI and UX.
3.2.4
“Number of decimals” will control the decimal places in this plugin from this version onwards. [Thanks to Behnam Khan]
3.2.3
Updated round of discounts on percentage. [Thanks to justinmyoung]
3.2.2
Updated for WP 5.4.
3.2.1
Another PHP notice fixed. [Thanks to goedebuursilentdisco]
3.2.0
Another PHP notice fixed.
3.1.9
PHP notice fixed – Product properties should not be accessed directly. [Thanks to amiayu]
3.1.8
Improved discount text in emails for percentage discount. [Thanks to collartags.com]
3.1.7
Improved Gabriela & Jose’s Logic. [Thanks to collartags.com]
3.1.6
Sprintf function issue fixed. [Thanks to donmcleman]
3.1.5
Improved qty. discount range display. [Thanks to collartags.com]
3.1.4
Fixed a minor javascript file symbol issue. [Thanks to René Baade Pedersen]
3.1.3
Fixed a minor echo thing on admin screen. [Thanks to collartags.com]
3.1.2
Pricing scale text is editable from settings page now. [Thanks to Don Paul]
3.1.1
Warning: sprintf(): Too few arguments issue resolved. [Thanks to amiayu]