Pawan Kumawat

Dynamic Pricing According To Quantity

How To Set Dynamic Pricing Of Product According To Quantity?.

Dynamic Pricing may be set by setting pricing rules based on products, order totals, roles, and product categories. In this post we will set price according to product quantity.

Dynamic Pricing According To Quantity Set By Two Condition”
Minimum Quantity: This is the Minimum Quantity of product that must be in the cart for the specific price rule.
Max Quantity: This is the Maximum Quantity of product that must be in the cart for the specific price rule.

WooCommerce price by quantity is one of the best dynamic pricing strategies to attract more buyers. It is an effective way of encouraging customers to purchase more quantities of products at a discounted rate.

You can provide label on product or on shop pages to show buyer , information about bulk discounts based on quantities.

Buy 1 to 5 and get 5% discount
Buy 5 to 9 and get 10% discount
Buy 10 to 15 and get 15% discount.
Buy 16 to 20 and get 20% discount.


this will attract user to buy more.

For this use ‘woocommerce_before_calculate_totals’ hook.


Example: Suppose we want product price according to quantity .


function QuantityBasedPricing( $cart ) {  
    if ( is_admin() && ! defined('DOING_AJAX') ) return;
    if ( did_action('woocommerce_before_calculate_totals') >= 2 ) return;
    foreach ( $cart->get_cart() as $cart_item_key => $cart_item ) {
        $price = round( $cart_item['data']->get_price() * (1-  0.05 ), 2 );
        $cart_item['data']->set_price( $price );
      if($cart_item['quantity']>6 and $cart_item['quantity']<11){
        $price = round( $cart_item['data']->get_price() * (1-  0.10), 2 );
        $cart_item['data']->set_price( $price );
      if($cart_item['quantity']>10 and $cart_item['quantity']<16){
        $price = round( $cart_item['data']->get_price() * (1-  0.15), 2 );
        $cart_item['data']->set_price( $price );
        $price = round( $cart_item['data']->get_price() * (1-  0.20), 2 );
        $cart_item['data']->set_price( $price );



Related Blogs

Create WooCommerce Orders Programmatically

To create WooCommerce orders programmatically in WordPress, you can use the `wc_create_order()` function provided by WooCommerce. This function allows you to create orders and add products to them. Make sure you have WooCommerce installed and activated in your WordPress environment. Here’s a step-by-step guide:

Delete Product Image With Product Delete In WooCommerce

In WooCommerce, when you delete a product, by default, the product images are not automatically deleted from the server to avoid accidental data loss. However, you can add a custom action to delete the product images when a product is deleted. Here’s a step-by-step guide to achieve this: