Удалить элемент с помощью $ product_id - woocommercePhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Удалить элемент с помощью $ product_id - woocommerce

Сообщение Anonymous »

сделал функцию, когда клиент получает продукт, добавленный в корзину, когда он достигает определенной суммы. < /p>

Пример того, когда клиент достигает уровня 3 и добавьте продукт. < /strong> < /p>

// Bonus products
$product_1 = '4751';
$product_2 = '4752';
$product_3 = '4753';

// Get cart value in a clean format
$cart_total = WC()->cart->get_cart_subtotal();
$cart_total = html_entity_decode($cart_total, ENT_QUOTES, 'UTF-8');
$cart_total_format = strip_tags($cart_total);
$cart_value = preg_filter("/[^0-9]/", "", $cart_total_format);
$sum_raw = $cart_value;

// Set the sum level
$level3 = '1500';

// Check sum and apply product
if ($sum_raw >= $level3) {

// Cycle through each product in the cart and check for match
$found = 'false';
foreach (WC()->cart->cart_contents as $item) {
global $product;
$product_id = $item['variation_id'];

if ($product_id == $product_3) {
$found = 'true';
}
}

// If product found we do nothing
if ($found == 'true') {}
// else we will add it
else {
//We add the product
WC()->cart->add_to_cart($product_3);
< /code>

Если клиент решает удалить элементы, поэтому это утверждение верно, я хочу иметь возможность удалить его снова. < /p>

if ($sum_raw < $level3) {

// Trying to remove item
foreach ($woocommerce->cart->get_cart() as $cart_item_key => $cart_item) {
if ($cart_item['variation_id'] == $product_3) {

//remove single product
WC()->cart->remove_cart_item($product_3);
}
}
}
< /code>

Am не удается удалить продукт из корзины. Есть идеи, что здесь делаю не так? Искали, не найдя какого -либо решения, которое работает для меня. < /p>

solution < /strong> < /p>

С помощью @rohil_phpbeginner & @wisdmlabs Я пришел к этому решению, которое выполнило работу для меня. < /p>

global $woocommerce;
// Check if sum
if ($sum_raw < $level3) {
foreach ($woocommerce->cart->get_cart() as $cart_item_key => $cart_item) {

if ($cart_item['variation_id'] == $product_3) {
//remove single product
$woocommerce->cart->remove_cart_item($cart_item_key);
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/305 ... oocommerce
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»