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

WooCommerce产品变量能否单独设置Sold individually选项?

WooCommerce可变产品单独配置“单独售卖”选项

WooCommerce原生后台没有为单个变量单独设置「Sold individually(单独售卖)」的选项,全局设置会统一作用于所有变量。但可以通过自定义代码实现这个需求,具体步骤如下:

  • 添加变量自定义字段
    在产品变量的编辑界面添加一个复选框,用于单独设置该变量的“单独售卖”状态:

    add_action( 'woocommerce_variation_options_pricing', 'add_individual_sell_per_variation_field', 10, 3 );
    function add_individual_sell_per_variation_field( $loop, $variation_data, $variation ) {
        woocommerce_wp_checkbox( array(
            'id'            => '_sold_individually_variation[' . $loop . ']',
            'label'         => __('单独售卖', 'woocommerce'),
            'description'   => __('勾选后该变量只能单独购买', 'woocommerce'),
            'value'         => get_post_meta( $variation->ID, '_sold_individually_variation', true ),
            'wrapper_class' => 'form-row form-row-full',
        ) );
    }
    
  • 保存自定义字段值
    处理字段的保存逻辑,将设置的值存入数据库:

    add_action( 'woocommerce_save_product_variation', 'save_individual_sell_per_variation_field', 10, 2 );
    function save_individual_sell_per_variation_field( $variation_id, $loop ) {
        $sold_individually = isset( $_POST['_sold_individually_variation'][$loop] ) ? 'yes' : 'no';
        update_post_meta( $variation_id, '_sold_individually_variation', $sold_individually );
    }
    
  • 覆盖全局设置逻辑
    在加入购物车时,优先使用变量的单独设置替代全局设置:

    add_filter( 'woocommerce_is_sold_individually', 'override_sold_individually_for_variation', 10, 2 );
    function override_sold_individually_for_variation( $sold_individually, $product ) {
        if ( $product->is_type( 'variation' ) ) {
            $variation_sold_individually = get_post_meta( $product->get_id(), '_sold_individually_variation', true );
            if ( $variation_sold_individually !== '' ) {
                $sold_individually = $variation_sold_individually === 'yes' ? true : false;
            }
        }
        return $sold_individually;
    }
    

注意事项

  • 将上述代码添加到当前主题的functions.php文件,或者创建一个自定义插件来存放。
  • 修改代码前请备份站点,避免出现兼容性问题。
  • 测试不同WooCommerce版本的兼容性,版本更新可能需要调整代码逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 18:42:43