Ya vimos cómo agregar un producto al carrito automáticamente, por ejemplo, si Visite una página específica o Si no hay productos en el carrito – Pero hoy queremos averiguar cómo hacer lo contrario: si se cumple una determinada condición, queremos eliminar una identificación de producto del carrito.
Esto se vuelve un poco complejo: mientras agregar un elemento al carrito requiere solo su identificación de producto, eliminarlo del carrito te obliga a conocer la «clave de elemento del carrito». Japonés, lo sé, ¡pero solo copia el fragmento y terminaste!
Php Snippet: elimine el artículo del carrito automáticamente
En el ejemplo a continuación, estoy dirigido a la identificación del producto = 282: el fragmento busca su «clave de elemento del carrito» y usa remove_cart_item () función para eliminarlo.
/** * @snippet Remove Cart Item Programmatically - WooCommerce * @how-to businessbloomer.com/woocommerce-customization * @author Rodolfo Melogli, Business Bloomer * @compatible WooCommerce 3.8 * @community https://businessbloomer.com/club/ */ add_action( 'template_redirect', 'bbloomer_remove_product_from_cart_programmatically' ); function bbloomer_remove_product_from_cart_programmatically() { if ( is_admin() ) return; $product_id = 282; $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 ); }