禁用WooCommerce付款方式是否达到购物车商品数量限制
问题描述:
如果购物车数量增加超过“X件商品”示例“15”,是否有禁用选择性付款方式的方式或过滤器?禁用WooCommerce付款方式是否达到购物车商品数量限制
我知道我们可以在添加到购物车之前限制数量的最大数量,但我只想禁用一些付款方式。
由于
答
您可以使用挂钩的自定义函数woocommerce_available_payment_gateways
筛选器挂钩。您将不得不在其内部设置数量限制和付款方式。
这里是代码:
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+。
答
可以在支付条件是如果筐数量超过你选择的量(例如,15),则支付方法将不会在拍卖显示指定。
非常好。它为我工作。谢谢:) – Stunomatic
是否可以通过$ qty_limit中的“自定义字段?”以便我可以更改每个产品的限制?我创建了上述功能,但我认为我的逻辑不好。 { //获取循环 全球$职位的现任职务; //调用后最大限购ACF领域 $ qty_limit = the_field( 'max_purchase_limit',$后> ID);} 或 – Stunomatic
它可以定义为类别明智的如果类别,然后限制“5”如果类别6然后限制“10”。这是可能的代码? – Stunomatic