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

如何通过add_to_cart将WooCommerce私有商品加入购物车?

解决WooCommerce私有商品无法通过代码加入购物车的问题

WooCommerce默认限制私有商品的购买权限,所以直接调用WC()->cart->add_to_cart($product_id)无法将私有商品加入购物车。要在保持商品私有状态的前提下实现需求,需要先通过钩子解除权限限制,再执行添加操作。

步骤1:添加权限解除钩子

将以下代码添加到主题的functions.php文件或自定义插件中:

// 允许私有商品被加入购物车
add_filter( 'woocommerce_is_purchasable', 'allow_private_products_purchasable', 10, 2 );
function allow_private_products_purchasable( $purchasable, $product ) {
    if ( $product->is_private() ) {
        $purchasable = true;
    }
    return $purchasable;
}

// 针对商品变体,解除私有商品的购买限制
add_filter( 'woocommerce_variation_is_purchasable', 'allow_private_variations_purchasable', 10, 2 );
function allow_private_variations_purchasable( $purchasable, $variation ) {
    if ( $variation->is_private() ) {
        $purchasable = true;
    }
    return $purchasable;
}

步骤2:执行添加购物车操作

添加完钩子后,再调用原有代码即可成功将私有商品加入购物车:

$product_id = 1234;
WC()->cart->add_to_cart($product_id);

这段代码仅修改WooCommerce的可购买规则,不会改变商品的私有状态,商品依然对外隐藏。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 22:55:59