无需付费插件,如何在WooCommerce中正确导入可变产品?
WooCommerce可变产品变体免费导入解决方案
一、免费插件方案
- WP All Import Free:支持CSV/XML格式导入可变产品,可精准映射变体属性(如尺寸、颜色),批量更新变体库存、价格,导入时自动关联父产品,操作界面友好,新手易上手。
- Product Import Export for WooCommerce:官方推荐的免费工具,专门适配WooCommerce产品导入导出,原生支持可变产品及其变体导入,支持自定义字段映射,还能保存导入模板,减少重复操作。
- WooCommerce CSV Import Suite Free:付费版功能更全面,但免费基础版已覆盖可变产品变体导入需求,能处理基础属性映射与父产品关联,适合需求简单的场景。
二、代码实现方案
步骤1:准备合规CSV文件
CSV需包含父产品与变体的核心字段,示例格式如下:
| post_title | post_type | post_parent | _sku | _regular_price | _variable_attributes | _variation_attribute_pa_size | _stock |
|---|---|---|---|---|---|---|---|
| 纯棉T恤 | product | 0 | T001 | 99 | a:1:{s:10:"pa_size";a:2:{i:0;s:3:"S";i:1;s:3:"M";}} | ||
| 纯棉T恤-S | variation | [父产品ID] | T001-S | 99 | S | 50 | |
| 纯棉T恤-M | variation | [父产品ID] | T001-M | 99 | M | 40 |
说明:
_variable_attributes是父产品的属性序列化值;_variation_attribute_pa_属性名对应变体的属性值;父产品post_type为product,变体为variation,post_parent需填写对应父产品的ID。
步骤2:添加自定义导入处理代码
将以下代码添加到主题functions.php文件或自定义插件中:
add_filter('woocommerce_product_import_pre_insert_product_object', 'custom_handle_variation_import', 10, 2); function custom_handle_variation_import($product, $data) { // 仅处理变体类型产品 if ($data['post_type'] !== 'variation' || empty($data['post_parent'])) { return $product; } $parent_product = wc_get_product($data['post_parent']); if (!$parent_product || !$parent_product->is_type('variable')) { return $product; } // 映射变体属性 $variation_attrs = array(); foreach ($data as $key => $value) { if (str_starts_with($key, '_variation_attribute_pa_')) { $attr_slug = str_replace('_variation_attribute_pa_', '', $key); $variation_attrs[$attr_slug] = $value; } } $product->set_attributes($variation_attrs); // 设置库存与价格 if (!empty($data['_stock'])) { $product->set_stock_quantity((int)$data['_stock']); $product->set_manage_stock(true); $product->set_stock_status('instock'); } if (!empty($data['_regular_price'])) { $product->set_regular_price($data['_regular_price']); } return $product; }
步骤3:执行导入
使用WooCommerce默认导入工具上传CSV文件,在字段映射环节确保post_parent、_variation_attribute_pa_*等关键字段正确匹配,随后执行导入即可完成变体的批量添加。
内容的提问来源于stack exchange,提问作者VIVEK G
相关产品推荐
相关产品推荐

