// Código PHP - Establecer que el carrito tenga solo 1 producto para que se pueda comprar (+ mensaje de vaciar carrito y contacto)
add_filter( 'woocommerce_add_to_cart_validation', 'limitar_carga_de_producto', 10, 3 );
function limitar_carga_de_producto( $passed, $product_id, $quantity ) {
// Obtener la cantidad de productos en el carrito
$productos_en_carrito = WC()->cart->get_cart_contents_count();
// Si hay un producto en el carrito, no permitir agregar más y mostrar un mensaje de alerta
if ( $productos_en_carrito >= 1 ) {
$passed = false;
// Agregar un enlace para eliminar los productos del carrito
$eliminar_url = wc_get_cart_url();
wc_add_notice(
__('Solo se permite agregar un producto al carrito. Si deseas, puedes eliminar los productos agregados al carrito haciendo clic <a href="' . $eliminar_url . '?clear-cart=true">aquí</a> o ponerte en contacto para <a href="#">más información</a> .'),
'error'
);
}
return $passed;
}
// Vaciar el carrito al hacer clic en el enlace
add_action( 'wp', 'vaciar_carrito' );
function vaciar_carrito() {
if ( isset( $_GET['clear-cart'] ) && $_GET['clear-cart'] == 'true' ) {
global $woocommerce;
$woocommerce->cart->empty_cart();
$url = wc_get_cart_url();
wp_safe_redirect( $url );
exit;
}
}
0 Comentarios