【问题标题】:WooCommerce Order Status & reduce StockWooCommerce 订单状态和减少库存
【发布时间】:2017-11-27 20:42:05
【问题描述】:

我为 woocommerce 编写了一个支付网关,并在支付成功后更改订单状态。如果状态更改为处理,我会减少订单库存。一切顺利。

顺便说一下,管理员可以在插件设置中更改成功付款的状态...正在处理或已完成(对于实体或虚拟产品)

    function setOrderPaid($OrderID, $status){
        $order = new WC_Order($OrderID);    
        if(!$order){
            return false;
            }else{
                    $order->update_status($status);                     
                    if($status=="processing") $order->reduce_order_stock();
                    WC()->cart->empty_cart();                           
                    return true;
                }
    }

在将订单状态更改为处理中成功付款后,我将状态手册更改为已完成(后台woocommerce->订单),系统再次减少订单库存。

付款成功后我必须减少库存,以防止同一产品的其他订单出现问题。我该如何解决这个订单减少问题?

我找到了这个Woocommerce set_status。也许这有帮助... bool $manual_update 这是手动订单状态更改吗?所以系统知道库存已经减少了???

【问题讨论】:

    标签: woocommerce status stock orders


    【解决方案1】:

    这与 woocommerce 中被视为 已付款 的订单状态有关。您可以自定义已付款订单状态列表。每次订单进入任何支付订单状态时都会触发上述函数。

    现在,您的第一反应是截断付费状态列表。这在少数情况下可能是可取的,但在这种特殊情况下,直觉是错误的。

    您需要做的是检查当前订单状态。如果状态不是付费状态,那么您应该触发减少库存功能。这假设订单不会在已付款和未付款状态之间反复跳转。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 2017-05-24
      • 1970-01-01
      • 2018-11-17
      • 1970-01-01
      相关资源
      最近更新 更多