首頁  >  問答  >  主體

如何使用其 SKU「連接」多個產品?

我想根據 WooCommerce 的 SKU 合併兩個或多個產品的庫存。

範例:(共享相同庫存的兩種產品)

(共享相同庫存的三種或更多產品)

我們大部分手機殼都是用透明的,所以我想讓這些產品共享同一個庫存。

P粉466909449P粉466909449220 天前3568

全部回覆(1)我來回復

  • P粉744691205

    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,則不會。另外,當我使用更新按鈕時(我從 這裡)它不會更新兩者,只會更新我正在更新的產品。

    回覆
    0
  • 取消回覆