WooCommerce-待付款减少库存的订单状态

时间:2020-07-15 22:12:40

标签: php wordpress woocommerce hook-woocommerce

我使用WooCommerce通过电话/电子邮件等手动接收订单。我使用后端记录订单以手动添加订单。

目前,当生成状态为“待付款”的订单时,库存会自动减少/扣除。我不希望这种情况发生。理想情况下,我只希望在订单被标记为“处理中”时减少库存,然后付款。

我了解这是WooCommerce的工作方式,有没有办法避免在选择特定状态之前减少库存?

我已经尝试过在functions.php中使用以下代码,并使用“保留”状态进行测试,但是库存仍然减少了。

add_filter( 'woocommerce_can_reduce_order_stock', 'wcs_do_not_reduce_onhold_stock', 10, 2 );
function wcs_do_not_reduce_onhold_stock( $reduce_stock, $order ) {
    if ( $order->has_status( 'on-hold' )) {
        $reduce_stock = false;
    }
    return $reduce_stock;
}

我想知道是否因为我将订单添加为管理员?我知道这是WooCommerce的工作方式,但是理想情况下,我需要一种方法在草稿和创建阶段创建订单时覆盖“待付款”状态,直到标记为“处理中”。

任何帮助都是很棒的。

1 个答案:

答案 0 :(得分:0)

尝试将其添加到functions.php 注意:未经测试。

function reduce_stock_processing($order_id) {
 wc_reduce_stock_levels($order_id);

}

add_action('woocommerce_order_status_processing', 'reduce_stock_processing');