Очистите корзину перед добавлением в корзину, указав c товаров в WooCommerce - PullRequest
3 голосов
/ 11 января 2020

У меня есть этот код для очистки корзины перед добавлением нового товара в корзину.

add_action( 'woocommerce_add_cart_item_data', 'woocommerce_clear_cart_url' );

function woocommerce_clear_cart_url() {
    global $woocommerce;
    $woocommerce->cart->empty_cart();
}

Но я хочу ограничить эту функцию до идентификатора продукта 986 и 1146. Я имею в виду, когда клиент добавляет продукт id 986 или 1146, сначала очистите корзину!

пожалуйста, помогите мне, я совершенно нуб

1 Ответ

3 голосов
/ 11 января 2020

Попробуйте следующее, чтобы очистить корзину перед добавлением в корзину. Идентификаторы продукта 986 или **1146**:

add_filter( 'woocommerce_add_to_cart_validation', 'custom_empty_cart', 10, 3 );
function custom_empty_cart( $passed, $product_id, $quantity ) {
    if( ( ! WC()->cart->is_empty() ) && in_array( $product_id, [986, 1146] ) )
        WC()->cart->empty_cart();

    return $passed;
}

Код входит в функции. php файл вашей активной детской темы (или активной темы). Проверено и работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...