Precisa do Woocommerce para permitir apenas 1 produto no carrinho. Se um produto já estiver no carrinho e outro 1 for adicionado, ele deverá remover o 1 anterior
Eu acho que esse código deve funcionar, mas não sei exatamente onde colocá-lo. Em todos os lugares que tentei falhou até agora ...
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();
}
}
}