WooCommerce: Programmatically Remove Product From Cart Using Product Id.

Code

Want to remove specific WooCommerce product from a cart?

WooCommerce provide ‘WC()->cart->remove_cart_item(string $cart_item_key)’ function to remove a product from cart. if we go through WooCommerce Documentation , wewill find that it accepts cart_item_key as parameter.

So All we need is to get the cart’s item key and remove accordingly.

We Know while adding an item to cart requires just its product ID, removing it from the cart we need to know the “cart item key” .

Many Times in WooCommerce we need to remove a product from cart using product ID, if a certain condition is met we follow these steps:-

  1. Generate Cart Id From Product Id.
  2. Then Find Product In Cart Using Product Cart Id.
  3. If Product Exist Remove Product From cart.

Example :

Add this code to template redirect function.

function ProgrammaticallyRemoveProductFromCart() {
 if ( is_admin() ) return;
 $product_id = 1234;
 $product_cart_id = WC()->cart->generate_cart_id( $product_id );
 $cart_item_key = WC()->cart->find_product_in_cart( $product_cart_id );
 if ( $cart_item_key ) {
  WC()->cart->remove_cart_item( $cart_item_key );
 }
}
add_action('template_redirect','ProgrammaticallyRemoveProductFromCart'); 

This Function is used when the page reload.
But in some case we need to remove it using the ajax .

No need to worry about it, it’s same process like the previous ,the only difference is previously we used it in template_redirect hook,but now we use it in ajax function.

Add this code for ajax function registration function.

function ProgrammaticallyRemoveProductFromCart() {
 $product_id = $_POST['product_id'];
 $product_cart_id = WC()->cart->generate_cart_id( $product_id );
 $cart_item_key = WC()->cart->find_product_in_cart( $product_cart_id );
 if ( $cart_item_key ) {
  WC()->cart->remove_cart_item( $cart_item_key );
  return true;
 }
 return false;
}
add_action('wp_ajax_remove_item_from_cart', 'ProgrammaticallyRemoveProductFromCart');
add_action('wp_ajax_nopriv_remove_item_from_cart','ProgrammaticallyRemoveProductFromCart');

Script:
Add this script for calling ajax function.

$.ajax({
 type: "POST",
 url: '#site url#/wp-admin/admin-ajax.php',
 data: {action : 'ProgrammaticallyRemoveProductFromCart','product_id' : '1234'},
 success: function(res) {
  if (res) {
   alert('Removed Successfully');
  }
 }
});

Related reading:

Shiv Kumawat

Executive Director & CEO

Shiv Kumawat is the CEO of Eoxys IT Solution LLP, the Jaipur-based IT company he has led since 2009. An AI & IT Solutions Consultant with 16+ years of experience, he works with startups and enterprises to turn ideas into market-ready SaaS platforms, mobile apps and AI-driven solutions. His team has delivered 700+ projects across SaaS, mobile and web apps, automation and AI. He previously served as Chief Technology Officer for a US company.

Latest Posts

AI visibility audit illustration: a rising search visibility chart, an eye symbol and ranked podium blocks

AI Visibility Tools Compared: Prices, Engines and Limits

If you want to know whether ChatGPT, Gemini or Google’s AI Overviews mention your business, you have two choices: check…

Shafeeq Khan
October 30, 2026
RAG vs fine-tuning illustration: an AI model drawing on a knowledge base of documents on an isometric navy platform

Build an AI Chatbot With Your Own Data: RAG Explained for Business

Most teams that want to build an AI chatbot with your own data have the same problem: a general chatbot…

Shafeeq Khan
October 29, 2026
AEO vs SEO vs GEO: a search bar above an AI answer panel that cites three web sources

AEO vs SEO vs GEO: What’s Different and What to Pay For

Every week another agency pitches “AEO”, “GEO” or “AI SEO” as a new service with a new retainer. If you…

Shafeeq Khan
October 28, 2026
,

Leave a Reply

Your email address will not be published. Required fields are marked *