woocommerce-update基于postmeta值的变体的“库存”状态

yeotifhr  于 2021-09-29  发布在  Java
关注(0)|答案(0)|浏览(206)

我有一个以克为单位的母体产品,其变化量与这些克不同。我希望每种变化都能将母产品的库存减少一定数量的克。
我现在所有这些都在工作,但问题是当母产品中没有足够的克数时,我不能让一个变体出现“缺货”。有人可以把它放在他们的购物车里,然后送到收银台,收银台会把它踢回去,说没有足够的库存来下订单。
我尝试过这样做,但没有成功:

$product_id = $product->get_id();

    //get stock multiplier from postmeta
    $multiplier = $product->get_meta( '_stock_multiplier' );

    //get current stock
    $cur_stock = $product->get_stock_quantity();

    //if multiplier is higher than current stock, set as outofstock

    If ($multiplier > $cur_stock) {

        // Updating the stock quantity
        update_post_meta( $product_id, '_stock_status', 'outofstock' );

        // Updating post term relationship
        wp_set_post_terms( $product_id, 'outofstock', 'product_visibility', true );

    }

我已将上述代码以各种形式绑定到以下挂钩:
“woocommerce\u product\u set\u stock”
“woocommerce\u variation\u set\u stock”
“woocommerce\u update\u产品”
我可以通过调试输出确认代码正在做它应该做的事情,但是之后缺货状态似乎立即恢复为库存状态。我想知道我是不是把这些东西绑对了钩子。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题