Однако я хочу, чтобы этот продукт продавался в неограниченном количестве.
На основе принудительной продажи по отдельности продукт, который можно купить отдельно, в коде ответа WooCommerce, который работает довольно хорошо, сейчас я использую:
Код: Выделить всё
function filter_woocommerce_add_to_cart_validation( $passed, $product_id, $quantity, $variation_id = null, $variations = null ) {
// Product id to bought alone
$product_id_alone = 666;
// Set variable
$alone = true;
// If passed
if ( $passed ) {
// If cart is NOT empty when a product is added
if ( !WC()->cart->is_empty() ) {
// If product id added = product id alone
if ( $product_id_alone == $product_id ) {
$alone = false;
} else {
// Generate a unique ID for the cart item
$product_cart_id = WC()->cart->generate_cart_id( $product_id_alone );
// Check if product is in the cart
$in_cart = WC()->cart->find_product_in_cart( $product_cart_id );
// If product is already in cart
if ( $in_cart ) {
$alone = false;
}
}
} else {
if ( $product_id_alone == $product_id) {
$alone = true;
}
}
}
if ( $alone == false ) {
// Set error message
$message = 'Product 666 must be bought separately.';
wc_add_notice( __( $message, 'woocommerce' ), 'error' );
$passed = false;
}
return $passed;
}
add_filter( 'woocommerce_add_to_cart_validation', 'filter_woocommerce_add_to_cart_validation', 10, 5 );
Как только товар появится ID 666 добавлен в корзину, я не могу добавить в корзину еще один товар.
И если я начну с добавления еще одного товара в пустую корзину, я не смогу добавить товар ID 666 в корзину.
Проблема в том, что если я добавлю товар с ID 666 в пустую корзину, я не смогу увеличить количество товара 666, добавив в корзину больше этого товара.
Подробнее здесь: https://stackoverflow.com/questions/671 ... rate-order
Мобильная версия