首頁 >後端開發 >php教程 >如何以程式設計方式建立具有新屬性值的 WooCommerce 產品變體?

如何以程式設計方式建立具有新屬性值的 WooCommerce 產品變體?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-16 09:21:02230瀏覽

How to Programmatically Create WooCommerce Product Variations with New Attribute Values?

使用新屬性值建立 WooCommerce 產品變體

在 WooCommerce 中建立可變產品時,您可能需要向產品的變更。以下是有關如何以程式設計方式完成此操作的逐步指南:

1.定義產品變體資料:

建立一個包含變體資料的數組,包括屬性值、SKU、價格和庫存數量。下面提供了一個範例:

$variation_data = [
    'attributes' => [
        'size' => 'M',
        'color' => 'Blue'
    ],
    'sku' => 'my-product-variation',
    'regular_price' => 19.99,
    'stock_qty' => 10
];

2.取得可變產品物件:

取得要新增變體的可變產物的物件:

$product = wc_get_product($product_id); // Replace $product_id with the actual product ID

3.建立變體貼文:

為新產品變體設定貼文資料:

$variation_post = [
    'post_title' => $product->get_title() . ' Variation', // Set the variation title
    'post_name' => 'product-' . $product_id . '-variation',
    'post_status' => 'publish',
    'post_parent' => $product_id,
    'post_type' => 'product_variation',
    'guid' => $product->get_permalink()
];

4.插入變體體貼文:

建立新產品變體:

$variation_id = wp_insert_post($variation_post);

5.設定屬性資料:

迭代變體屬性並將其設定在產品變體:

foreach ($variation_data['attributes'] as $attribute => $term_name) {
    $taxonomy = 'pa_' . $attribute;
    update_post_meta($variation_id, 'attribute_' . $taxonomy, $term_name);
}

6.設定其他數據:

設定剩餘的變體數據,如SKU、價格和庫存數量:

$variation = new WC_Product_Variation($variation_id); // Get the variation object

if (!empty($variation_data['sku'])) {
    $variation->set_sku($variation_data['sku']);
}

$variation->set_price($variation_data['regular_price']);

if (!empty($variation_data['stock_qty'])) {
    $variation->set_stock_quantity($variation_data['stock_qty']);
}

$variation->save(); // Save the variation

按照以下步驟,您可以以程式設計方式建立具有新屬性的產品變體WooCommerce 中的值。

以上是如何以程式設計方式建立具有新屬性值的 WooCommerce 產品變體?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn