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
horizontalorvertical.
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
horizontalorvertical.
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
discountorquantity.
Default value:discount
- level_num – can be
lastor 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,discountorquantity.
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
lastor 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.