Create Custom Menu in WordPress Dashboard
Complete tutorial on create custom menu in wordpress dashboard. Discover practical examples, implementation tips, and expert advice for WordPress and WooCo
Read More โAutomatically remove specific products from WooCommerce cart based on custom conditions using cart hooks. Implement conditional product removal for user roles, coupon restrictions, category conflicts, or business rules with woocommerce_before_calculate_totals and cart item filters.
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

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