首页 >后端开发 >php教程 >如何以编程方式创建具有新属性值的 WooCommerce 产品变体?

如何以编程方式创建具有新属性值的 WooCommerce 产品变体?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-16 09:21:02228浏览

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