使用新屬性值建立程式化WooCommerce 產品變體
此問題解決了為現有可變產品建立產品變體的挑戰WooCommerce 3 .目標是自動化此過程,同時處理尚不存在的變體的新屬性值的創建。
解決方案
提供的解決方案利用自訂 PHP函數名稱為 create_product_variation()。此函數有兩個參數:
此函數首先建立一個產品變體貼文物件。然後使用該物件建立一個新帖子,代表該變體。接下來,建立 WC_Product_Variation 物件的實例並用於設定變體的屬性值。
此函數迭代 $variation_data 陣列中提供的變體屬性。對於每個屬性,它檢查是否存在相應的分類法。如果不存在,則使用 register_taxonomy() 函數建立分類法。
對於 $variation_data['attributes'] 中指定的每個屬性值,函數檢查該術語是否已存在。如果沒有,它會使用 wp_insert_term() 建立術語。然後取得術語的 slug 並用於更新變體的帖子元。
其他變體數據,例如 SKU、價格和庫存數量,也使用適當的方法設定。請注意,管理庫存時,set_manage_stock() 方法必須設為 true。
最後使用 save() 方法儲存變體物件。
使用範例
提供的範例示範如何建立具有兩個屬性(「尺寸」和「顏色」)、唯一的SKU、價格和庫存數量:
$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 );
執行此程式碼後,它將建立具有指定屬性、價格和庫存資訊的新產品變體。
以上是如何以程式設計方式建立具有新屬性值的 WooCommerce 產品變體?的詳細內容。更多資訊請關注PHP中文網其他相關文章!