Cómo Funciona
Este snippet busca un producto específico en el carrito de compras de WooCommerce mediante su ID de producto. Si encuentra el producto, lo elimina automáticamente del carrito. El código se ejecuta en el hook template_redirect
, lo que garantiza que el producto se elimine antes de que el usuario llegue a la página de pago o cualquier otra página del sitio.
//Función que elimina producto del carrito automáticamente. function bf_remove_from_cart_auto() { $product_id = 282; // Modifica el id de producto aquí $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', 'bf_remove_from_cart_auto' );
Instalación del Snippet
- Abre el archivo
functions.php
de tu tema de WordPress. - Copia y pega el snippet en el archivo.
- Guarda los cambios y actualiza tu sitio web.
Casos de Uso
- Promociones Temporales: Si tienes una promoción donde un producto se añade automáticamente al carrito pero debe ser eliminado después de cierto tiempo.
- Productos Complementarios: Si tienes productos que solo deben comprarse junto con otros productos y deseas evitar que los clientes compren el producto por separado.
- Control de Stock: Si un producto está agotado o ya no está disponible, puedes usar este snippet para asegurarte de que se elimine del carrito.
Personalización
Para personalizar el ID del producto que deseas eliminar, modifica la siguiente línea:
$product_id = 282; // Modifica el id de producto aquí
Reemplaza 282
con el ID del producto que deseas eliminar del carrito.
Precauciones
- Asegúrate de probar el snippet en un entorno de desarrollo antes de implementarlo en un sitio en vivo.
- Este snippet solo funciona si WooCommerce está instalado y activo en tu sitio de WordPress.
Con este snippet, puedes mejorar la experiencia de compra en tu tienda WooCommerce al tener un control más preciso sobre los productos en el carrito de tus clientes.