我有一些具有变化的库存项目,所有这些都有库存管理功能;问题是,当我确实出售库存变动项目时,母项目库存数不会减少!
示例:-我有一个父代码,是T恤和3个S / M / L版本,这些版本的库存总价值为30(每种尺寸为10),那么我想父代码也显示股票价值为30;当前,当我出售库存变动项目时,它只会减少该项目的库存,而不会减少父项目(sku)。
是否有允许我执行此操作的插件或代码?
答案 0 :(得分:1)
我已经测试了代码并且可以正常工作,但是在发布之前请进行一些测试。代码进入您的主题或子主题的functions.php。
add_action( 'woocommerce_reduce_order_stock', 'lets_reduce_parent' );
function lets_reduce_parent( $order_id ) {
$order = wc_get_order( $order_id );
foreach( $order->get_items() as $item_id => $item ){
$parent_id = $item->get_product_id();
$child_id = $item->get_variation_id();
$quantity = $item->get_quantity();
if($child_id == 0) return;
else
{
$parent_product = wc_get_product( $parent_id );
$stock = $parent_product->get_stock_quantity();
$new_stock = $stock - $quantity;
wc_update_product_stock( $parent_product, $quantity, 'decrease' );
$order->add_order_note( "Parent Product ID: $parent_id - Stock Reduced: $stock -> $new_stock");
}
}
}
Ref-1:Woocommerce custom stock update after successful order
Ref-2:Get Order items and WC_Order_Item_Product in WooCommerce 3
我希望这会有所帮助。如果您有任何问题,请通知我。祝你有美好的一天。