如果用户在 WooCommerce 中添加更多产品,则在添加到购物车时设置最大可用产品数量
Set Max available product quantity on add to cart if user adds more in WooCommerce
我在 woocommerce 中发布了关于产品数量的问题。
如果用户输入的产品数量超过剩余数量,我想将总数量添加到购物车。
为此我尝试了很多不同的代码片段,但都无济于事。
如有任何帮助,我们将不胜感激。
您应该试试这个挂钩在 woocommerce_add_to_cart
中的自定义函数,当客户添加的商品数量超过剩余的可用商品数量时,它将设置购物车中的最大可用商品数量:
add_action('woocommerce_add_to_cart', 'add_to_cart_qty', 10, 6 );
function add_to_cart_qty( $cart_item_key, $product_id, $quantity, $variation_id, $variation, $cart_item_data ){
$real_product_id = $variation_id > 0 ? $variation_id : $product_id;
$product = wc_get_product($real_product_id);
$product_stock = $product->get_stock_quantity();
// Zero or negative stock (remove the product)
if( $product_stock <= 0 && $product->get_manage_stock() ){
WC()->cart->remove_cart_item( $cart_item_key );
return;
}
if( $quantity > $product_stock && $product->get_manage_stock() ){
WC()->cart->set_quantity( $cart_item_key, $product_stock );
}
}
代码进入您的活动子主题(或活动主题)的 function.php 文件或任何插件文件。
此代码已经过测试,甚至适用于产品变体。
我在 woocommerce 中发布了关于产品数量的问题。 如果用户输入的产品数量超过剩余数量,我想将总数量添加到购物车。
为此我尝试了很多不同的代码片段,但都无济于事。
如有任何帮助,我们将不胜感激。
您应该试试这个挂钩在 woocommerce_add_to_cart
中的自定义函数,当客户添加的商品数量超过剩余的可用商品数量时,它将设置购物车中的最大可用商品数量:
add_action('woocommerce_add_to_cart', 'add_to_cart_qty', 10, 6 );
function add_to_cart_qty( $cart_item_key, $product_id, $quantity, $variation_id, $variation, $cart_item_data ){
$real_product_id = $variation_id > 0 ? $variation_id : $product_id;
$product = wc_get_product($real_product_id);
$product_stock = $product->get_stock_quantity();
// Zero or negative stock (remove the product)
if( $product_stock <= 0 && $product->get_manage_stock() ){
WC()->cart->remove_cart_item( $cart_item_key );
return;
}
if( $quantity > $product_stock && $product->get_manage_stock() ){
WC()->cart->set_quantity( $cart_item_key, $product_stock );
}
}
代码进入您的活动子主题(或活动主题)的 function.php 文件或任何插件文件。
此代码已经过测试,甚至适用于产品变体。