Programmatically Remove Items from WooCommerce Cart

Code Snippets Debugging Woocommerce WooCommerce Customization WooCommerce Development Woocommerce Hooks WooCommerce Tips Wordpress WordPress Development

Programmatically Remove Items from WooCommerce Cart Tutorial/Guide

How to Programmatically Remove Products from WooCommerce Cart

In this tutorial, you’ll learn how to remove a product from the WooCommerce cart programmatically using WordPress hooks. This method helps remove products based on specific conditions.

Step 1: Use woocommerce_cart_item_removed Hook

The woocommerce_cart_item_removed action triggers when an item is removed from the cart. Use it to set your custom condition for removing a product. Add this snippet to your theme’s functions.php file or a custom plugin:

function custom_remove_product_from_cart($cart_item_key, $cart) {
    $product_id = $cart->cart_contents[$cart_item_key]['product_id'];

    if ($product_id === YOUR_PRODUCT_ID_TO_REMOVE) {
        unset($cart->cart_contents[$cart_item_key]);
    }
}
add_action('woocommerce_cart_item_removed', 'custom_remove_product_from_cart', 10, 2);

Replace YOUR_PRODUCT_ID_TO_REMOVE with the product ID you want to target.

Step 2: Use woocommerce_before_calculate_totals Hook

This hook lets you remove a product just before WooCommerce calculates the cart totals. Here’s the code:

function custom_remove_product_from_cart_on_calculate_totals($cart) {
    if (is_admin() && !defined('DOING_AJAX')) return;

    foreach ($cart->get_cart() as $cart_item_key => $cart_item) {
        $product_id = $cart_item['product_id'];

        if ($product_id === YOUR_PRODUCT_ID_TO_REMOVE) {
            $cart->remove_cart_item($cart_item_key);
        }
    }
}
add_action('woocommerce_before_calculate_totals', 'custom_remove_product_from_cart_on_calculate_totals', 10, 1);

Step 3: Test Your Changes

After saving the code, test in a staging environment. Products with the specified ID should be removed automatically when added to the cart. Important: Always back up your website and test changes thoroughly to avoid impacting the live user experience.

Use Cases for Automatic Product Removal

  • Restricting products for specific user roles
  • Conditionally removing items when certain coupons apply

 

💡 Have a Coding Problem?

Search our archives or reach out to our team for solutions and expert advice.