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

WooCommerce变量产品:如何按尺寸属性批量设置变体价格

批量设置WooCommerce变量产品变体价格(仅按尺寸定价)

嘿,这个场景太常见了——500个变体一个个改完全是折磨!我之前帮客户处理过几乎一模一样的需求,给你分享几个不用手动挨个编辑的办法,完美适配你这种仅尺寸决定价格、颜色不影响的情况:

方法1:用WooCommerce内置批量编辑工具(零代码,最省心)

这是最快的办法,完全用WooCommerce自带功能搞定:

  • 打开你的变量产品编辑页面,滚动到「产品数据」模块,切换到「变体」标签页
  • 点击页面右上角的**「批量编辑」**按钮,进入批量编辑模式
  • 在「属性」筛选区,只勾选你要设置价格的尺寸(比如S码)——这样所有带S码的变体(不管是什么颜色)都会被自动选中
  • 在「价格」输入框里填上10$,然后点**「更新」**按钮,瞬间所有S码的变体价格就统一了
  • 重复上面的操作,依次给XL、M、L等其他尺寸设置对应的价格(比如XL设15$)

方法2:用代码片段批量赋值(适合懂点代码的同学,一步到位)

如果觉得手动选尺寸还是有点麻烦,可以加一段代码一次性搞定所有尺寸的价格设置:
把下面的代码加到你的主题functions.php文件里(或者用代码片段插件,避免改主题文件出错):

function bulk_set_variation_prices_by_size() {
    // 替换成你的目标产品ID,在产品编辑页地址栏能找到
    $target_product_id = 123;
    $product = wc_get_product($target_product_id);
    
    // 不是变量产品就直接退出
    if (!$product || !$product->is_type('variable')) return;
    
    // 这里定义每个尺寸对应的价格,按你的需求改
    $size_price_map = array(
        'S' => 10,
        'M' => 12,
        'L' => 13,
        'XL' => 15,
        // 剩下的尺寸自己补充
    );
    
    // 遍历所有变体
    foreach ($product->get_available_variations() as $variation_data) {
        $variation_id = $variation_data['variation_id'];
        $variation = wc_get_product($variation_id);
        
        // 获取当前变体的尺寸属性值,注意这里的属性slug要和你后台的一致
        // 比如你的尺寸属性slug是pa_size,就改成get_attribute('pa_size')
        $current_size = $variation->get_attribute('尺寸');
        
        // 如果这个尺寸在我们的价格映射里,就设置价格并保存
        if (isset($size_price_map[$current_size])) {
            $variation->set_regular_price($size_price_map[$current_size]);
            // 要是需要设置促销价,就加一行 $variation->set_sale_price(xxx);
            $variation->save();
        }
    }
}
// 执行一次这个函数,完成后记得把这行注释掉,不然每次加载页面都会重复执行
bulk_set_variation_prices_by_size();
  • 重点提醒:一定要把$target_product_id换成你实际的产品ID,属性字段要和你后台设置的属性slug匹配(默认属性slug是pa_属性名,比如尺寸属性的slug是pa_size)
  • 执行完价格设置后,记得把最后一行bulk_set_variation_prices_by_size();注释掉,避免重复执行

方法3:用CSV导入导出批量处理(变体超多时更高效)

如果以后还要经常做类似的批量修改,用CSV导入导出会更方便:

  • 进入WooCommerce后台的「产品」→「导入/导出」,选择导出产品,勾选「仅导出变体」
  • 导出后用Excel或Google Sheets打开CSV文件,找到「尺寸」列和「价格」列
  • 用表格的筛选功能,把同一尺寸的行筛选出来,批量填充对应的价格(比如筛选所有S码的行,统一设置价格为10$)
  • 修改完成后,把CSV文件导回WooCommerce,选择「覆盖现有产品/变体」,确认导入就行

这样不管有多少变体,用表格工具批量处理几分钟就能搞定~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:43:05