当我有特定的优惠券(例如“ tcrfam”)时,我需要隐藏信用卡付款,并且当我使用任何其他方式来显示信用卡付款时,我的想法是我不会提供100%的优惠券还是免费的,在任何情况下我都不会询问信用卡数据。
我尝试了此代码,但不起作用:
add_action('woocommerce_before_checkout_form', 'apply_product_on_coupon');
function apply_product_on_coupon() {
global $woocommerce;
$coupon_id = 'tcrfam';
if(in_array($coupon_id, $woocommerce->cart->get_applied_coupons())){
echo "Yes the coupon its inserted dd";
add_filter( 'woocommerce_cart_needs_payment', '__return_false' );
}
}
我需要在上面的代码中使用 add_filter(“ woocommerce购物车需要付款”,“ __ return_false”),但是我不知道该怎么做,有人可以给吗我对如何做的想法?谢谢
答案 0 :(得分:1)
您需要的代码应直接位于过滤器挂钩中,例如:
add_filter( 'woocommerce_cart_needs_payment', 'filter_cart_needs_payment', 10, 2 );
function filter_cart_needs_payment( $needs_payment, $cart ) {
// The targeted coupon code
$targeted_coupon_code = 'tcrfam';
if( in_array( $targeted_coupon_code, $cart->get_applied_coupons() ) ) {
$needs_payment = false;
}
return $needs_payment;
}
代码进入活动子主题(或活动主题)的functions.php文件中。应该可以。
答案 1 :(得分:-2)
我发现此代码段对我非常有用,但我有一个问题……禁用付款方式的优惠券代码是否不止一个?可以用吗?
testing 1, testing 21
我试过了,但 Woocommerce 并没有问我每个优惠券代码的付款方式,而不仅仅是我写的两个。
提前致谢