Требуется Woocommerce, чтобы в корзину можно было добавить только 1 товар. Если товар уже есть в корзине и добавлен еще один, он должен удалить предыдущий 1

Я думаю, что этот код должен работать, но не совсем уверен, где его разместить. Везде, где я пробовал, до сих пор не получилось ...

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();
        }
    }

}

Ответы на вопрос(8)

Ваш ответ на вопрос