如果购物车数量增加超过" X个商品数量&#34>,是否有办法或过滤器禁用选择性付款方式例子" 15"?
我知道我们可以在添加到购物车之前限制最大数量,但我想仅禁用某些付款方式。
由于
答案 0 :(得分:2)
您可以使用隐藏在 woocommerce_available_payment_gateways
过滤器挂钩中的自定义函数。您必须在其中设置数量限制和付款方式slu。
以下是代码:
add_filter('woocommerce_available_payment_gateways', 'unsetting_payment_gateway', 10, 1);
function unsetting_payment_gateway( $available_gateways ) {
// HERE Define the limit of quantity item
$qty_limit = 15;
$limit_reached = false;
// Iterating through each items in cart
foreach(WC()->cart->get_cart() as $cart_item){
if($cart_item['quantity'] > $qty_limit ){
$limit_reached = true;
break;
}
}
if($limit_reached){
// HERE set the slug of your payment method
unset($available_gateways['cod']);
unset($available_gateways['bacs']);
}
return $available_gateways;
}
代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。
此代码已经过测试,适用于WooCommerce版本2.6和3 +。
答案 1 :(得分:0)
您可以在付款条件中指定如果购物篮编号超过您选择的金额(例如15),则付款方式将不会显示在竞价中。