我想根據(jù) WooCommerce 的 SKU
合併兩個(gè)或多個(gè)產(chǎn)品的庫(kù)存。
範(fàn)例:(共享相同庫(kù)存的兩種產(chǎn)品)
(共享相同庫(kù)存的三種或更多產(chǎn)品)
我們大部分手機(jī)殼都是用透明的,所以我想讓這些產(chǎn)品共享同一個(gè)庫(kù)存。
在網(wǎng)路上找到了一些東西,內(nèi)容是這樣的:
// 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');
唯一的問(wèn)題是,當(dāng)訂購(gòu)了 sku1 的產(chǎn)品時(shí),它會(huì)更新 sku1 和 sku2 的庫(kù)存數(shù)量,但如果訂購(gòu)了 sku2,則不會(huì)。另外,當(dāng)我使用更新按鈕時(shí)(我從 這裡)它不會(huì)更新兩者,只會(huì)更新我正在更新的產(chǎn)品。