Подобный вопрос не раз поднимался.
"Товар" в Woo это не просто запись в базе - это сущность, и сменой какого то поля можно нарушить его целостность. А если еще несколько плагинов по управлению товарами подключены, то и нарушить нормальную работу этих плагинов.
Правильное изменение состояния это через код через
WC_Product
. Да, долго, тяжело, надо разбивать но блоки если много товаров. Зато надежно.
$product = wc_get_product($id);
... делаем что то
$product->save();
в Вашем случае, если говорить только про Woo (я подразумеваю, что никакие другие плагины не зависят от этого изменения), Вам нужно заглянуть еще в поле
stock_status
и в таблицу
..._wc_product_meta_lookup