Корзина не очищается после покупки из-за функции wc_update_product_stock()Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Корзина не очищается после покупки из-за функции wc_update_product_stock()

Сообщение Anonymous »

У меня есть это действие, которое активируется, когда заказ меняет статус на «обработка».
Этот код вызывает проблему: корзина не очищается после покупки.
Я обнаружил, что строка, вызывающая эту проблему: wc_update_product_stock( $product, $product_stock, 'set');
Но я не знаю, как это исправить . Есть ли другой способ обновить ассортимент товаров? Почему это происходит?
Важно: это происходит только с заказами, которые сразу же при покупке получают статус «в обработке».
Эта проблема не возникает. Этого не произойдет, если для заказа установлен статус «в ожидании», а затем я редактирую заказ и меняю статус вручную на «в обработке».
add_action('woocommerce_order_status_changed', 'so_status_completed', 10, 3);

function so_status_completed($order_id, $old_status, $new_status){
if($new_status == 'processing' || $new_status == 'on-hold'){

// in previous lines I fetch the $product_sku

$product_id = wc_get_product_id_by_sku( $product_sku );
$product = wc_get_product($product_id);
$product_stock = 100000;
update_post_meta($product_id, '_manage_stock', 'yes');
wc_update_product_stock( $product, $product_stock , 'set' ); // THIS LINE CAUSES THE ISSUE

}// close if($new_status == 'processing'){
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... k-function
Ответить

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

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

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

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

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