suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Wie kann man mehrere Produkte über ihre SKUs „verbinden“?

Ich möchte den Bestand von zwei oder mehr Produkten auf Basis von WooCommerce zusammenführen SKU.

Beispiel: (Zwei Produkte mit demselben Lagerbestand)

(Drei oder mehr Produkte teilen sich den gleichen Bestand)

Die meisten unserer Handyhüllen bestehen aus durchsichtigem Material, daher wollte ich, dass diese Produkte denselben Bestand haben.

P粉466909449P粉466909449264 Tage vor3677

Antworte allen(1)Ich werde antworten

  • 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,则不会。另外,当我使用更新按钮时(我从 此处)它不会更新两者,只会更新我正在更新的产品。

    Antwort
    0
  • StornierenAntwort