WooCommerce - включите этот параметр, чтобы разрешить покупку только одного товара в одном заказе - PullRequest
1 голос
/ 03 мая 2020

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

Опция на вкладке «Инвентарь» - включите эту опцию, чтобы разрешить покупать только один из этих предметов в одной заказ

enter image description here

Я все еще могу добавлять другие товары в корзину.

1 Ответ

0 голосов
/ 03 мая 2020

PS: Индивидуальная продажа означает, что несколько единиц этого продукта нельзя приобрести за один заказ. Другие продукты можно приобрести вместе с ним.

add_filter( 'woocommerce_add_to_cart_validation', 'remove_all_other_if_individual' );

function remove_all_other_if_individual( $cart_item_data ) {

    global $woocommerce;
    $items                       = $woocommerce->cart->get_cart();
    $is_sold_individual_incart   = false;
    foreach ( $items as $item => $values ) {
        $_product                    = wc_get_product( $values[ 'data' ]->get_id() );
        if ( $_product->is_sold_individually() )
            $is_sold_individual_incart   = TRUE;
    }
    if ( $is_sold_individual_incart )
        $woocommerce->cart->empty_cart();

    // Do nothing with the data and return
    return true;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...