【问题标题】:Increase stock (not decrease) after completed WooCommerce orders?完成 WooCommerce 订单后增加库存(而不是减少)?
【发布时间】:2017-04-12 13:54:56
【问题描述】:

我目前正在使用 WooCommerce 开发一个 WordPress 项目,我需要一个非常具体的功能(WooCommerce 中不包含)

订单完成后如何增加库存而不是减少库存?

到目前为止,我发现我可能需要使用 Woocommerce API 来完成此操作WC_AJAX::increase_order_item_stock();。不过我不太习惯使用复杂的 PHP...

你有一些想法来完成这个吗?
也许使用插件(我没有找到)?还是使用原始代码?

总结一切:我想为一家餐厅建立一个网站,该网站具有库存管理功能,并且厨师可以从不同供应商处订购商品。因此,当厨师从 woocommerce 商店页面订购商品时,购买商品的库存必须增加而不是减少。

我尝试了不同的东西,例如“WC Vendors”或“Marketplace”,但没有成功……

谢谢。

【问题讨论】:

    标签: php wordpress woocommerce product orders


    【解决方案1】:

    你可以试试这个自定义函数钩在 woocommerce_order_status_completed 动作钩子中,当状态设置为 已完成

    add_action( 'woocommerce_order_status_completed', 'action_on_order_completed' , 10, 1 );
    function action_on_order_completed( $order_id )
    {
        // Get an instance of the order object
        $order = wc_get_order( $order_id );
    
        // Iterating though each order items
        foreach ( $order->get_items() as $item_id => $item_values ) {
    
            // Item quantity
            $item_qty = $item_values['qty'];
    
            // getting the product ID (Simple and variable products)
            $product_id = $item_values['variation_id'];
            if( $product_id == 0 || empty($product_id) ) $product_id = $item_values['product_id'];
    
            // Get an instance of the product object
            $product = wc_get_product( $product_id );
    
            // Get the stock quantity of the product
            $product_stock = $product->get_stock_quantity();
    
            // Increase back the stock quantity
            wc_update_product_stock( $product, $item_qty, 'increase' );
        }
    }
    

    该代码适用于启用了自己的库存管理的简单或可变产品。因此,您可能需要对其进行一些更改,具体取决于您的 WooCommerce 设置。 这只是一个例子,给你一个想法,一个方法……

    代码进入您的活动子主题(或主题)的 function.php 文件或任何插件文件中。

    此代码不会在 WooCommerce 版本 2.6.x 上引发错误,并且应该可以工作。

    【讨论】:

      猜你喜欢
      • 2017-11-27
      • 2019-07-23
      • 1970-01-01
      • 1970-01-01
      • 2021-11-03
      • 2020-06-17
      • 1970-01-01
      • 2013-08-18
      相关资源
      最近更新 更多