title: WooCommerce: Custom function adding free product - Cart page getting broken for orders up to 3000
body: <p>WooCommerce Cart Page breaks as soon as I add a product to cart If the value of the cart goes above 3000.</p>
  
  <p>Below is the code I am using in <strong><code>functions.php</code></strong> of my theme:   </p>
  
  <pre><code>add_action('woocommerce_check_cart_items', 'qualifies_for_incentive' );
  // Cart's Total Excluding Taxes
  function qualifies_for_incentive() {
      // Incentive product we are giving away
      $incentive_product_id = 6971;
      if( qualifies_basedon_cart_total( 250 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      } else {
          remove_incentive_from_cart( $incentive_product_id );
      }
  
      if( qualifies_basedon_cart_total( 500 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 750 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 1000 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 1250 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 1500 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 1750 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 2000 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 2250 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 2500 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 2750 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 3000 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 3250 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 3500 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 3750 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 4000 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 4250 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 4500 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 4750 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 5000 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 5250 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 5500 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 5750 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 6000 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 6250 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 6500 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 6750 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 7000 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 7250 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 7500 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 8000 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 8250 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 8500 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 8750 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 9000 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 9250 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 9500 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 9750 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 10000 ) ) {
          add_incentive_to_cart( $incentive_product_id );
      }
  }
  
  /**
   * Adds a specific product to the cart
   * @param $product_id Product to be added to the cart
  */
  function add_incentive_to_cart( $product_id ) {
      // Check the cart for this product
      $cart_id = WC()-&gt;cart-&gt;generate_cart_id( $product_id );
      $prod_in_cart = WC()-&gt;cart-&gt;find_product_in_cart( $cart_id );
      // Add the product only if it's not in the cart already
  
      if( qualifies_basedon_cart_total( 250 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,1 );
      } else {
          remove_incentive_from_cart( $incentive_product_id );
      }
      if( qualifies_basedon_cart_total( 500 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,2 );
      } 
      if( qualifies_basedon_cart_total( 750 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,3 );
      } 
      if( qualifies_basedon_cart_total( 1000 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,4 );
      } 
      if( qualifies_basedon_cart_total( 1250 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,5 );
      } 
      if( qualifies_basedon_cart_total( 1500 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,6 );
      } 
      if( qualifies_basedon_cart_total( 1750 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,7 );
      } 
      if( qualifies_basedon_cart_total( 2000 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,8 );
      } 
      if( qualifies_basedon_cart_total( 2250 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,9 );
      } 
      if( qualifies_basedon_cart_total( 2500 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,10 );
      } 
      if( qualifies_basedon_cart_total( 2750 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,11 );
      } 
      if( qualifies_basedon_cart_total( 3000 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id, 12);
      } 
      if( qualifies_basedon_cart_total( 3250 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,13 );
      } 
      if( qualifies_basedon_cart_total( 3500 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,14 );
      } 
      if( qualifies_basedon_cart_total( 3750 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,15 );
      } 
      if( qualifies_basedon_cart_total( 4000 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,16 );
      } 
      if( qualifies_basedon_cart_total( 4250 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,17 );
      } 
      if( qualifies_basedon_cart_total( 4500 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,18 );
      } 
      if( qualifies_basedon_cart_total( 4750 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,19 );
      }
      if( qualifies_basedon_cart_total( 5000 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,20 );
      } 
      if( qualifies_basedon_cart_total( 5250 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,21 );
      }
      if( qualifies_basedon_cart_total( 5500 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,22 );
      }
      if( qualifies_basedon_cart_total( 5750 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,23 );
      }
      if( qualifies_basedon_cart_total( 6000 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,24 );
      }
      if( qualifies_basedon_cart_total( 6250 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,25 );
      }
      if( qualifies_basedon_cart_total( 6500 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,26 );
      }
      if( qualifies_basedon_cart_total( 6750 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,27 );
      }
      if( qualifies_basedon_cart_total( 7000 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,28 );
      }
      if( qualifies_basedon_cart_total( 7250 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,29 );
      }
      if( qualifies_basedon_cart_total( 7500 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,30 );
      }
      if( qualifies_basedon_cart_total( 7750 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,31 );
      }
      if( qualifies_basedon_cart_total( 8000 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,32 );
      }
      if( qualifies_basedon_cart_total( 8250 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,33 );
      }
      if( qualifies_basedon_cart_total( 8500 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,34 );
      }
      if( qualifies_basedon_cart_total( 8750 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,35 );
      }
      if( qualifies_basedon_cart_total( 9000 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,36 );
      }
      if( qualifies_basedon_cart_total( 9250 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,37 );
      }
      if( qualifies_basedon_cart_total( 9500 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,38 );
      }
      if( qualifies_basedon_cart_total( 9750 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,39 );
      }
      if( qualifies_basedon_cart_total( 10000 ) ) {
          WC()-&gt;cart-&gt;remove_cart_item( $prod_in_cart );
          WC()-&gt;cart-&gt;add_to_cart( $product_id,40 );
      }
  
  }
  
  /**
   * Removes a specific product from the cart
  * @param $product_id Product ID to be removed from the cart
   */
  function remove_incentive_from_cart( $product_id ) {
      $prod_unique_id = WC()-&gt;cart-&gt;generate_cart_id( $product_id );
      // Remove it from the cart by un-setting it
      unset( WC()-&gt;cart-&gt;cart_contents[$prod_unique_id] );
  }
  
  /**
   * Checks the cart for the Total excluding taxes
   * @param $total_required
   * @return bool
   */
  function qualifies_basedon_cart_total( $total_required ) {
      /*
       * We only want to run this on the cart or checkout page
       */
      if( is_cart() || is_checkout () ) {
          if( WC()-&gt;cart-&gt;subtotal &gt;= $total_required ) {
              return true;
          }
      }
      // Return false in case anything fails
      //return false;
  }
  </code></pre>
  
  <p>Website: <a href="http://qa.fastandup.in" rel="nofollow">http://qa.fastandup.in</a></p>
  
  <p>Please I need help about this issue. What I am doing wrong?</p>
  
  <p>Thanks.</p>
  
  <p>Reference: <a href="https://www.sitepoint.com/woocommerce-actions-and-filters-manipulate-cart/" rel="nofollow">WooCommerce Actions and Filters to Manipulate the Cart</a></p>