我拥有的代码可用于为宾客和客户隐藏BACS支付网关,但是我需要对其进行更改,以便仅在客户/管理员在CART或CHECKOUT上应用称为FOOD的特定优惠券代码时,BACS网关才可用。
换句话说:隐藏BACS网关,直到将名为FOOD的COUPON应用于CART或CHECKOUT。
这是我拥有的代码:
add_filter('woocommerce_available_payment_gateways', 'show_bacs_if_coupon_is_used', 99, 1);
function show_bacs_if_coupon_is_used( $available_gateways ) {
$current_user = wp_get_current_user();
if ( isset($available_gateways['bacs']) && (current_user_can('customer'))) {
unset($available_gateways['bacs']);
} else if ( isset($available_gateways['bacs']) && !is_user_logged_in()) {
unset($available_gateways['bacs']);
}
return $available_gateways;
}
答案 0 :(得分:0)
仅当登录用户仅将特定优惠券应用于购物车时显示BACS付款方式(使用ALTER SEQUENCE ad_group_action_id_seq RESTART WITH 100;
WC_Cart
方法):
get_applied_coupons()
代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。