Programmatische WooCommerce-Produktvariationen mit neuen Attributwerten erstellen
Diese Frage befasst sich mit der Herausforderung, Produktvariationen für ein bereits vorhandenes variables Produkt zu erstellen WooCommerce 3 . Ziel ist es, diesen Prozess zu automatisieren und gleichzeitig die Erstellung neuer Attributwerte für noch nicht vorhandene Variationen zu übernehmen.
Lösung
Die bereitgestellte Lösung nutzt ein benutzerdefiniertes PHP Funktion namens create_product_variation(). Diese Funktion benötigt zwei Parameter:
Die Funktion beginnt mit der Erstellung eines Produktvariationspostobjekts. Dieses Objekt wird dann verwendet, um einen neuen Beitrag zu erstellen, der die Variation darstellt. Als Nächstes wird eine Instanz des WC_Product_Variation-Objekts erstellt und zum Festlegen der Attributwerte für die Variation verwendet.
Die Funktion iteriert durch die im $variation_data-Array bereitgestellten Variationsattribute. Für jedes Attribut wird geprüft, ob die entsprechende Taxonomie vorhanden ist. Ist dies nicht der Fall, wird die Taxonomie mithilfe der Funktion register_taxonomy() erstellt.
Für jeden in $variation_data['attributes'] angegebenen Attributwert prüft die Funktion, ob der Begriff bereits vorhanden ist. Ist dies nicht der Fall, wird der Begriff mit wp_insert_term() erstellt. Anschließend wird der Slug des Begriffs abgerufen und zum Aktualisieren des Post-Meta für die Variation verwendet.
Zusätzliche Variationsdaten wie SKU, Preise und Lagerbestandsmenge werden ebenfalls mithilfe geeigneter Methoden festgelegt. Beachten Sie, dass bei der Bestandsverwaltung die Methode set_manage_stock() auf true gesetzt sein muss.
Abschließend wird das Variationsobjekt mit der Methode save() gespeichert.
Beispielverwendung
Das bereitgestellte Beispiel zeigt, wie eine Produktvariante mit zwei Attributen („Größe“ und „Farbe“), einer eindeutigen SKU, Preisen und Lagerbestand erstellt wird Menge:
$parent_id = 746; // Or get the variable product id dynamically // The variation data $variation_data = array( 'attributes' => array( 'size' => 'M', 'color' => 'Green', ), 'sku' => '', 'regular_price' => '22.00', 'sale_price' => '', 'stock_qty' => 10, ); // The function to be run create_product_variation( $parent_id, $variation_data );
Sobald dieser Code ausgeführt wird, wird eine neue Produktvariante mit den angegebenen Attributen, Preisen und Lagerinformationen erstellt.
Das obige ist der detaillierte Inhalt vonWie kann ich WooCommerce-Produktvarianten programmgesteuert mit neuen Attributwerten erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!