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 βRemove specific WooCommerce products from cart using product ID with three-step process: generate cart ID from product ID using WC()->cart->generate_cart_id($product_id), find product in cart with find_product_in_cart method returning cart item key, remove item using remove_cart_item with cart key parameter. Implement in template_redirect action for page load removal or create AJAX function with wp_ajax actions for dynamic removal, pass product ID via POST data in AJAX requests, check if cart item exists before removal attempt, return success response for AJAX confirmations, perfect for conditional cart restrictions, incompatible product removal, or enforcing purchase rules based on cart contents or user roles.
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:-
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');
}
}
});
Search our archives or reach out to our team for solutions and expert advice.