Main Features
- Customize pricing based on quantity of a product, a category, a tag, or cart level.
- Show messages to customers to show them how much discount they’re getting on bulk purchase
- You can use total cart quantity or product quantity.
- Optionally you can set to apply the wholesale discount only if no other cart discounts were applied.
- Discounts can be set as percent from the original price, fixed discount, or set price directly on a per-product basis.
- Additionally, you can set different wholesale pricing options for different user roles.
- If you want to display a price table or other data on the frontend, there are shortcodes included in the plugin.
- Show discount pricing table on product page
- Fully compatible with WooCommerce, ensuring seamless integration into your online store.
Product Price by Quantity Options
Plugin settings are located in “WooCommerce > Settings > Product Price by Quantity”.
Settings
Here you choose at which level you want to set wholesale discount options. To set it for all products at once visit the “All Products” section.
- Per product
- This will add new settings meta box to each product’s edit page.
- Default:
yes
- Default:
- Per variation
- Enable this if you want to set options for each variation of a variable product separately.
- Default:
no
- Default:
- Per product category
- This will add new settings fields to each product category edit page.
- Default:
no
- Default:
- Per product tag
- This will add new settings fields to each product tag edit page.
- Default:
no
- Default:
Discount
- Discount type
- Possible values: Percent; Fixed.
- Default:
Percent
- Default:
General
- Rounding
- Round calculated product wholesale price according to the “Number of decimals” option.
- Default:
yes
- Default:
- Quantity calculation
- Possible values: Single product quantity; Total cart quantity; Group by product parent (e.g. for variations); Group by product category; Group by product tag.
- Default:
Single product quantity
- Default:
- Other cart discounts
- Apply wholesale discount only if no other cart discounts were applied.
- Default:
no
- Default:
- Formula and shortcodes
- Process formula and shortcodes in discount table values (i.e. in “Min quantity #X” and “Discount #X” fields).
- Default:
no
- Default:
- Admin recalculate order
- Adds “Recalculate” button to admin order pages.
- Default:
yes
- Default:
- Admin recalculate order: Require confirmation
- Default:
yes
- Default:
- Admin recalculate order: Add order note
- Default:
yes
- Default:
Compatibility Options
- WCFM plugin compatibility
- Default:
no
- Default:
- WCFM plugin compatibility: New product notification
- Default:
Please save the product first.
- Default:
- "Lumise - Product Designer Tool" plugin compatibility
- Default:
no
- Default:
All Products
You can exclude selected products in the Advanced section.
- Number of levels
- Save settings after you change this option (new settings fields will be shown).
- Default:
1
- Default:
- Min quantity #X
- Minimum quantity to apply discount.
- Default:
0
- Default:
- Discount #X
- To set fee instead of discount – enter negative number.
- Default:
0
- Default:
User Roles
If you want to set different wholesale pricing options for different user roles, fill this section.
- User roles settings
- Save settings after you change this option (new settings fields will be shown). Leave blank to disable.
- Default: None
Info: Cart Page
Show discount pricing info in cart.
Available placeholders:
%qty%
,%qty_total%
,%old_price_single%
,%old_price_total%
,%new_price_single%
,%new_price_total%
,%discount_value%
,%discount_percent%
,%discount_single%
,%discount_total%
.
- Item price
- Default:
no
- Default:
- Item price template
- If “Item price” option is enabled, set template here.
- Default:
<del>%old_price_single%</del> %new_price_single%<br>You save: <span style="color:red;">%discount_percent%%</span>
- Default:
- Item subtotal
- Default:
no
- Default:
- Item subtotal template
- If “Item subtotal” option is enabled, set template here.
- Default:
<del>%old_price_total%</del> %new_price_total%<br>You save: <span style="color:red;">%discount_total%</span>
- Default:
Info: Discount Pricing Table
Show discount pricing table on single product pages.
[alg_wc_wholesale_pricing_table]
, [alg_wc_product_wholesale_pricing_table]
, [alg_wc_wholesale_pricing_data]
, [alg_wc_product_wholesale_pricing_data]
shortcodes.- Single product page
- Default:
no
- Default:
- Template for non-variable products
- For example:
[alg_wc_product_wholesale_pricing_table table_format="vertical" heading_format="from %level_min_qty% pcs." price_row_format="%new_price_single%"]
- Default:
[alg_wc_product_wholesale_pricing_table]
- Template for variable products
- For example:
[alg_wc_product_wholesale_pricing_table table_format="vertical" heading_format="from %level_min_qty% pcs." price_row_format="%new_price_single%"]
- Default: None
- Template for variations
- Available placeholders:
%variation_id%
.
For example:[alg_wc_product_wholesale_pricing_table product_id="%variation_id%" table_format="horizontal" price_row_format="<del>%old_price_single%</del> %new_price_single%"]
- Default:
[alg_wc_product_wholesale_pricing_table product_id="%variation_id%"]
- Hide main variable table on visible variation
- Will automatically hide main variable product pricing table, when variation table becomes visible.
- Default:
no
- Default:
Info: Replace Price
Replace standard product price display with a discounted one.
For example: from $7,00
to From $5,00 for 10 pcs.
- Single product page
- Default:
no
- Default:
- Template for single product pages
- Default:
[alg_wc_product_wholesale_pricing_data field="price" level_num="1" product_id="%product_id%"]
- Shop page
- Default:
no
- Default:
- Template for shop pages
- Default:
[alg_wc_product_wholesale_pricing_data field="price" level_num="1" product_id="%product_id%"]
Price Display by Quantity
This section allows you to display product price by quantity in real-time, i.e. when a customer changes product quantity on a single product page.
- Price display by quantity
- Default:
no
- Default:
- Template (no discount)
- Price display by quantity template for quantities with no discount. Available placeholders:
%qty%
,%old_price_single%
,%old_price_total%
.
- Default:
%old_price_total% for %qty% pcs.
- Template
- Price display by quantity template for quantities with discount. Available placeholders:
%qty%
,%old_price_single%
,%old_price_total%
,%new_price_single%
,%new_price_total%
,%discount_value%
,%discount_percent%
,%discount_single%
,%discount_total%
.
- Default:
<del>%old_price_total%</del> %new_price_total% for %qty% pcs. You save: <span style="color:red;">%discount_percent%%</span>
- Position
- Price display by quantity position on the frontend. Possible values: Instead of the price; Before the price; After the price.
- Default:
Instead of the price
- Default:
- Refresh interval
- In milliseconds.
- Default:
500
- Default:
- Variable products
- Will display price by quantity in variation price section. Ignored if it’s not a variable product, or if variation prices are the same.
- Default:
yes
- Default:
- Force standard quantity input
- Enable this if you are using non-standard quantity input (e.g. dropdown), and having issues with the price display by quantity.
- Default:
no
- Default:
Dropdown
This section allows you to replace standard quantity input with a dropdown. Dropdown values will be equal to the min quantities of the wholesale pricing levels.
- Dropdown
- Default:
no
- Default:
- Dropdown label template
- Available placeholders:
%qty%
,%qty_total%
,%old_price_single%
,%old_price_total%
,%new_price_single%
,%new_price_total%
,%discount_value%
,%discount_percent%
,%discount_single%
,%discount_total%
.
- Default:
%qty%
- Dropdown class
- HTML class for the `select` element.
- Default:
qty
- Default:
- Dropdown style
- HTML style for the `select` element.
E.g.:min-width:100px;
- Default: None
- HTML before
- Optional HTML outputted before the `select` element.
E.g.:<table><tbody><tr><th>Quantity</th><td>
- Default: None
- HTML after
- Optional HTML outputted after the `select` element.
E.g.:</td></tr></tbody></table>
- Default: None
- Filter values
- Filter dropdown values using product’s step, min and max values.
- Default:
no
- Default:
Advanced Options
These settings are applied to the All Products section only.
- Required products
- Ignored if empty.
- Default: None
- Excluded products
- Default: None
Tools
Check the box and save changes to run the tool. Please note that there is no undo for these actions.
- Delete per product settings
- Will delete all per product wholesale pricing settings.
- Default:
no
- Default:
- Delete per term settings
- Will delete all per product category and per product tag wholesale pricing settings.
- Default:
no
- Default:
Shortcodes
[alg_wc_wholesale_pricing_table]
Displays global (i.e. not per product) wholesale pricing table.
Attributes
- heading_format – sets format for the table headings. Replaced values:
%level_min_qty%
and%level_max_qty%
.
Default value:from %level_min_qty% pcs.
- before_level_max_qty – used only if
%level_max_qty%
is included in heading_format.
Default value:-
- last_level_max_qty – used only if
%level_max_qty%
is included in heading_format.
Default value:+
- hide_if_zero_quantity – hides table row (
yes
) if level quantity is set to zero.
Default value:no
- table_format – can be
horizontal
orvertical
.
Default value:horizontal
Example
[alg_wc_wholesale_pricing_table heading_format="%level_min_qty%%level_max_qty% pcs."]
Output
[alg_wc_product_wholesale_pricing_table]
Displays product’s wholesale pricing table.
Attributes
- heading_format – sets the format for the table headings. Replaced values:
%level_min_qty%
and%level_max_qty%
.
Default value:from %level_min_qty% pcs.
- before_level_max_qty – used only if
%level_max_qty%
is included in heading_format.
Default value:-
- last_level_max_qty – used only if
%level_max_qty%
is included in heading_format.
Default value:+
- hide_if_zero_quantity – hides table row (
yes
) if level quantity is set to zero.
Default value:no
- table_format – can be
horizontal
orvertical
.
Default value:horizontal
- hide_currency – hides currency symbol (
yes
).
Default value:no
- add_price_row – adds price row to the table.
Default value:yes
- price_row_format – used only if add_price_row is set to
yes
.
Default value:<del>%old_price%</del> %price%
- add_percent_row – adds percent row to the table (
yes
). Ignored unless “Discount type” is set to “Percent”.
Default value:no
- add_discount_row – adds discount row to the table (
yes
). Ignored unless “Discount type” is set to “Fixed”.
Default value:no
- columns_styles – cells HTML style attribute.
Default value:text-align: center;
- table_class – table HTML class attribute.
Default value:None
- product_id – optional product ID. If not set – will use the current product.
Default value:Current product's ID
Example
[alg_wc_product_wholesale_pricing_table add_percent_row="yes"]
Output
[alg_wc_wholesale_pricing_data]
Displays global (i.e. not per product) wholesale pricing data.
Attributes
- field – can be
discount
orquantity
.
Default value:discount
- level_num – can be
last
or actual level number.
Default value:last
Example
Best deal: [alg_wc_wholesale_pricing_data level_num="last" field="discount"]% discount for [alg_wc_wholesale_pricing_data level_num="last" field="quantity"]+ pieces!
Output
[alg_wc_product_wholesale_pricing_data]
Displays product’s wholesale pricing data.
Attributes
- field – can be
price
,discount
orquantity
.
Default value:price
- price_format – used only if the field is set to
price
.
Default value:<del>%old_price%</del> %price%
- hide_currency – hides currency symbol (
yes
). Used only if the field is set toprice
.
Default value:no
- level_num – can be
last
or actual level number.
Default value:last
- product_id – optional product ID. If not set – will use the current product.
Default value:Current product's ID
Example
Lowest price: [alg_wc_product_wholesale_pricing_data field="price" price_format="%price%" level_num="last"] for [alg_wc_product_wholesale_pricing_data field="quantity" level_num="last"] pcs.