我想根据 WooCommerce 的 SKU
合并两个或多个产品的库存。
示例:(共享相同库存的两种产品)
(共享同一库存的三种或更多产品)
我们大部分手机壳都是用透明的,所以我想让这些产品共享同一个库存。
P粉7446912052024-04-06 00:25:13
在网上找到了一些东西,内容是这样的:
// Get the order object $order = wc_get_order($order_id); // Loop through order items foreach ($order->get_items() as $item_id => $item) { $product = $item->get_product(); $product_sku = $product->get_sku(); // Define your SKU mappings $sku_mapping = array( 'sku1' => array('sku2'), 'sku3' => array('sku4', 'sku5'), 'sku6' => array('sku7', 'sku8', 'sku9'), ); // Check if the product SKU exists in the mapping if (isset($sku_mapping[$product_sku])) { $linked_skus = $sku_mapping[$product_sku]; // Update the stock quantities for linked products foreach ($linked_skus as $linked_sku) { $linked_product = wc_get_product_id_by_sku($linked_sku); if ($linked_product) { $linked_stock_quantity = get_post_meta($linked_product, '_stock', true); $updated_stock_quantity = $linked_stock_quantity - $item->get_quantity(); update_post_meta($linked_product, '_stock', $updated_stock_quantity); } } } } } add_action('woocommerce_new_order', 'custom_sync_stock_on_order'); add_action('woocommerce_order_status_processing', 'custom_sync_stock_on_order');
唯一的问题是,当订购了 sku1 的产品时,它会更新 sku1 和 sku2 的库存数量,但如果订购了 sku2,则不会。另外,当我使用更新按钮时(我从 此处)它不会更新两者,只会更新我正在更新的产品。