A AumCreate 模板、免费插件、AI 工具与定制开发

wordpress · 2026/10/19 · 更新于 2026/10/19

WooCommerce如何设置产品批量导入自动生成SKU并避免重复

本文解决 WooCommerce 批量导入产品时 SKU 重复的痛点。给出电子表格公式、WordPress 代码钩子两种自动化方案,并说明如何借助 AumCreate 的 CSV 工具与定制服务提升效率。

WooCommerce 后台产品导入界面,表格中显示 SKU 字段和 CSV 导入选项
图片来源:Pexels / anshul kumar

摘要

在 WooCommerce 中批量导入产品时,推荐在 CSV 阶段用电子表格公式生成唯一 SKU,或通过代码钩子自动生成并检查重复。本文提供具体公式、PHP 代码示例,并介绍 AumCreate 的 CSV 整理工具与定制开发选项。

为什么 SKU 重复会带来问题?

SKU 是库存单位,在 WooCommerce 中用于唯一标识商品。重复的 SKU 会导致库存同步错误、订单报表混乱,以及 ERP 或第三方物流系统对接失败。尤其在批量导入产品时,如果依赖人工填写,很容易出现重复。

方法一:导入前用电子表格公式生成唯一 SKU

最可靠的方式是在 CSV 导入之前,在 Excel 或 Google Sheets 中为每行产品生成唯一 SKU。你可以基于产品名称、分类、供应商代码等字段组合,并加上序号确保唯一。

示例公式

假设 A 列是产品名称,B 列是分类代码,可以使用如下公式:

=UPPER(LEFT(A2,3))&"-"&B2&"-"&TEXT(ROW()-1,"000")

这个公式会生成类似“ABC-01-001”的 SKU。导入前再用 COUNTIF 函数检查重复:

=COUNTIF($C$2:$C$1000,C2)

结果大于 1 的行需要检查并调整。

方法二:通过代码钩子自动生成并检查 SKU

如果你需要在 WooCommerce 导入过程中自动生成 SKU 并避免重复,可以使用导入器提供的过滤器。下面的代码示例演示了如何在产品保存前根据产品名称生成 SKU,并检查是否已存在。

add_filter( 'woocommerce_product_import_before_save', function( $product, $data ) {
    $sku = $product->get_sku();
    if ( empty( $sku ) ) {
        $base = sanitize_title( $product->get_name() );
        $base_sku = strtoupper( substr( $base, 0, 8 ) );
        $sku = $base_sku;
        $i = 1;
        while ( wc_get_product_id_by_sku( $sku ) ) {
            $sku = $base_sku . '-' . $i;
            $i++;
        }
        $product->set_sku( $sku );
    }
    return $product;
}, 10, 2 );

注意:此代码需要添加到子主题的 functions.php 或使用代码片段插件。务必在测试环境验证。

借助 AumCreate 的 WooCommerce CSV 生成工具整理数据

如果你手头是供应商提供的原始表格,可以使用 WooCommerce CSV 生成工具 将其整理为 WooCommerce 兼容的 CSV,该工具会根据商品数据生成商品描述、分类和图片 Alt 文本。不过,工具本身不直接生成 SKU,你仍然需要按上文方法在 CSV 中填充唯一 SKU 列。

如果需要完全定制的 SKU 生成规则并与库存系统集成,可以了解 WordPress 定制开发服务,AumCreate 团队可根据实际业务规则实现自动生成与防重复机制。

导入后如何检查重复 SKU

即使导入前已经检查,仍然建议在导入后做一次全库扫描。你可以使用数据库查询:

SELECT meta_value AS sku, COUNT(*) FROM wp_postmeta WHERE meta_key = '_sku' GROUP BY meta_value HAVING COUNT(*) > 1;

或者使用 WooCommerce 后台产品列表的 SKU 列手动排序浏览。若发现重复,及时修正。

总结与建议

批量导入 WooCommerce 产品并自动生成 SKU 的关键是:在 CSV 阶段生成唯一标识,或在代码层面使用过滤器自动生成并进行唯一性检查。结合电子表格公式和轻量代码,完全可以避免重复。对于更复杂的业务规则,可以考虑借助 AumCreate 的 CSV 工具或定制开发服务来提升效率。

相关文章

相关项目:AumCreate 项目记录