我正在尝试通过禁用切换来建立带有打开优惠券形式的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条单独的消息,具体取决于页面?
答案 0 :(得分:0)
我最终通过添加以下内容使用了基于CSS的解决方案:
.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon { display:block !important; }
(可选)禁用“是否有优惠券?单击此处输入代码”消息,并添加以下内容:
.woocommerce-form-coupon-toggle .woocommerce-info {display: none !important;}
当客户登录时,优惠券字段和错误消息会“跳转”。除此之外,它工作正常。