Check if product is in the cart by product ID in WooCommerce

/**
 * Checks if product is in the cart.
 *
 * @see https://wpcodebook.com/woocommerce-check-product-in-cart/
 * @see https://woocommerce.github.io/code-reference/classes/WC-Cart.html
 * @see https://developer.wordpress.org/reference/functions/wp_list_pluck/
 *
 * @return bool
 */
function wpcodebook_is_product_in_cart( $product_id ) {
	$products   = wp_list_pluck( WC()->cart->get_cart_contents(), 'product_id' );
	$variations = wp_list_pluck( WC()->cart->get_cart_contents(), 'variation_id' );
	return ( in_array( $product_id, $products ) || in_array( $product_id, $variations ) );
}

Leave a Comment