Cuando se trata de vender productos relacionados con automóviles en una tienda en línea, garantizar la compatibilidad es crucial. Imagina un cliente que tiene un coche de gasolina y, por error, añade al carrito un producto diseñado exclusivamente para coches diésel. Esta incompatibilidad podría llevar a problemas mecánicos, gastos adicionales y una mala experiencia para el cliente.
Para evitar este tipo de problemas, es esencial implementar medidas que aseguren que los clientes no puedan comprar productos incompatibles juntos. Con la ayuda del plugin Advanced Custom Fields (ACF) en WordPress, puedes añadir un campo personalizado a tus productos, por ejemplo, «Tipo de Combustible», y asignarles valores como «Gasolina» o «Diésel».
Ahora, para garantizar que los productos en el carrito sean compatibles según su tipo de combustible, te presento el siguiente fragmento de código:
<?
function validate_cart_item_fuel_type( $passed, $product_id, $quantity ) {
$cart_items = WC()->cart->get_cart();
$tipo_de_combustible = get_field('tipo_de_combustible', $product_id);
foreach ( $cart_items as $item ) {
if ( get_field('tipo_de_combustible', $item['product_id']) != $tipo_de_combustible ) {
wc_add_notice( 'Lo sentimos, este producto no es compatible con el tipo de combustible de otro producto en tu carrito.', 'error' );
return false;
}
}
return $passed;
}
add_filter( 'woocommerce_add_to_cart_validation', 'validate_cart_item_fuel_type', 10, 3 );
?>
¿Cómo funciona este código?
- Se sobreescribe el código del filtro
woocommerce_add_to_cart_validation
, que se activa antes de que un producto sea añadido al carrito. - Comprueba el «Tipo de Combustible» de todos los productos en el carrito y lo compara con el producto que se está intentando añadir.
- Si detecta una incompatibilidad (por ejemplo, un producto de gasolina y otro de diésel), muestra un mensaje de error y evita que el producto se añada al carrito.
Gracias a este código, puedes ofrecer una experiencia de compra más segura y eficiente, asegurándote de que tus clientes seleccionen productos que sean completamente compatibles con su tipo de vehículo. ¡Mejora la satisfacción del cliente y reduce las devoluciones con esta solución!