WooCommerce上的条件优惠券错误消息

时间:2019-01-11 20:45:40

标签: woocommerce cart checkout coupon

我正在尝试通过禁用切换来建立带有打开优惠券形式的WooCommerce结帐页面。我通过在here中添加以下代码来修改了其中的代码,因此它也删除了蓝色的大通知消息。

$(".showcoupon").closest(".woocommerce-info").hide();  

唯一的问题是,如果有人用空的或不正确的优惠券代码单击“申请优惠券”,则会显示错误并隐藏优惠券代码字段。因此,我添加了以下内容,以便为用户提供再次获得优惠券表格的机会。

add_filter( 'woocommerce_coupon_error', 'pm_change_coupon_error', 30, 3 );

function pm_change_coupon_error( $err, $err_code, $coupon ){

if (is_checkout()) {        
    $err =  ' <a class="showcoupon">' . __( 'Click here to enter a valid coupon code', 'woocommerce' ) . '</a>';    
}
else {
    $err  =  'Please enter a valid code'; //Error message for cart page
}
return $err;
}

无论我尝试了什么修改,它始终显示为else语句给出的错误消息。如何确保始终有2条单独的消息,具体取决于页面?

1 个答案:

答案 0 :(得分:0)

我最终通过添加以下内容使用了基于CSS的解决方案:

.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon { display:block !important; }

(可选)禁用“是否有优惠券?单击此处输入代码”消息,并添加以下内容:

.woocommerce-form-coupon-toggle .woocommerce-info {display: none !important;}

当客户登录时,优惠券字段和错误消息会“跳转”。除此之外,它工作正常。