Necesita que Woocommerce solo permita 1 producto en el carrito. Si un producto ya está en el carrito y se agrega otro 1, debe eliminar el 1 anterior.

Creo que este código debería funcionar pero no estoy seguro de dónde colocarlo. En todas partes que he intentado ha fallado hasta ahora ...

add_action('init', 'woocommerce_clear_cart');

function woocommerce_clear_cart() {
global $woocommerce, $post, $wpdb;

$url = explode('/', 'http://'.$_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]);
$slug=$url[4];
$postid = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_status='publish' AND post_name = '$slug'");

    if ($postid){
        if ($postid == PRODUCTID1 || $postid == PRODUCTID2){
        $woocommerce->cart->empty_cart();
        }
    }

}

Respuestas a la pregunta(8)

Su respuesta a la pregunta