Potrzebujesz Woocommerce, aby zezwolić na 1 produkt w koszyku. Jeśli produkt jest już w koszyku, a kolejne 1 jest dodane, to powinno usunąć poprzednie 1
Myślę, że ten kod powinien działać, ale nie do końca pewny, gdzie go umieścić. Wszędzie, gdzie próbowałem, zawiodło jak dotąd ...
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();
}
}
}