You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让WooCommerce原生导出的CSV产品文件显示分类识别式属性字段名?

WooCommerce导出CSV时将属性转为分类识别字段的方法

原生WooCommerce产品导出的CSV会用Attribute 1 name、Attribute 1 value(s)这类通用字段,导致不同属性(颜色、尺寸、评分等)混在同一列里,格式混乱,还没法在产品的「Additional Information」标签页生成规整的信息表格。要实现像attribute:pa_color、attribute:pa_size这类分类清晰的单独字段,可按以下方法操作:

方法一:手动指定需导出的属性(自定义代码)

通过添加代码到主题的functions.php或自定义代码插件(如Code Snippets),手动指定要导出的属性字段:

// 添加自定义属性导出列
add_filter('woocommerce_product_export_product_default_columns', 'add_custom_attribute_export_columns');
function add_custom_attribute_export_columns($columns) {
    // 这里替换成你需要导出的属性slug(pa_开头)
    $target_attributes = ['pa_color', 'pa_size', 'pa_material', 'pa_rating'];
    
    foreach ($target_attributes as $attr_slug) {
        // 列名显示为属性的友好名称(比如pa_color对应Color)
        $column_name = ucwords(str_replace('pa_', '', $attr_slug));
        $columns["attribute:$attr_slug"] = $column_name;
    }
    
    return $columns;
}

// 给每个属性列填充对应的值
add_filter('woocommerce_product_export_product_column_attribute:pa_color', 'fill_attribute_export_value', 10, 2);
add_filter('woocommerce_product_export_product_column_attribute:pa_size', 'fill_attribute_export_value', 10, 2);
add_filter('woocommerce_product_export_product_column_attribute:pa_material', 'fill_attribute_export_value', 10, 2);
add_filter('woocommerce_product_export_product_column_attribute:pa_rating', 'fill_attribute_export_value', 10, 2);

function fill_attribute_export_value($value, $product) {
    // 获取当前属性的slug
    $attr_slug = str_replace('attribute:', '', current_filter());
    // 获取产品对应属性的值
    $attr_value = $product->get_attribute($attr_slug);
    // 有值返回值,无值返回空字符串
    return $attr_value ? $attr_value : '';
}

方法二:自动导出所有全局属性(自定义代码)

如果你的产品属性较多,不想手动逐个添加,可使用这段代码自动获取所有WooCommerce全局属性并生成导出列:

// 自动添加所有全局属性的导出列
add_filter('woocommerce_product_export_product_default_columns', 'add_all_global_attributes_export_columns');
function add_all_global_attributes_export_columns($columns) {
    global $wpdb;
    // 从数据库获取所有全局属性的名称
    $attribute_names = $wpdb->get_col("SELECT attribute_name FROM {$wpdb->prefix}woocommerce_attribute_taxonomies");
    
    foreach ($attribute_names as $attr_name) {
        $attr_slug = 'pa_' . $attr_name;
        $columns["attribute:$attr_slug"] = ucwords($attr_name);
    }
    
    return $columns;
}

// 通用属性值填充函数
add_filter('woocommerce_product_export_product_column', 'fill_dynamic_attribute_value', 10, 3);
function fill_dynamic_attribute_value($value, $product, $column_key) {
    // 判断当前列是否为属性列
    if (str_starts_with($column_key, 'attribute:pa_')) {
        $attr_slug = str_replace('attribute:', '', $column_key);
        $attr_value = $product->get_attribute($attr_slug);
        return $attr_value ? $attr_value : '';
    }
    return $value;
}

操作步骤

  • 将上述代码添加到你的WordPress站点:推荐用自定义代码插件添加,避免主题更新丢失代码;也可编辑当前主题的functions.php文件(编辑前务必备份)。
  • 进入WooCommerce的「产品 > 导出」页面,在「列」选项中勾选需要导出的属性字段(比如Color、Size等)。
  • 完成导出设置后,点击「导出」,得到的CSV文件就会包含attribute:pa_color这类分类清晰的单独字段,每个字段仅对应单一属性值。

注意事项

  • 导入CSV时,确保字段名与导出的一致,这样属性值会正确映射到产品对应的属性中,导入后产品的「Additional Information」标签页会自动生成规整的信息表格。
  • 如果使用自定义代码插件,激活代码后需刷新导出页面才能看到新添加的属性列。

内容的提问来源于stack exchange,提问作者christo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 04:43:11