我创建了一个自定义结帐页面。
我想将优惠券代码放在任何地方并且有效。
不幸的是,点击"申请优惠券"按钮,系统不是验证优惠券并将其添加到订单中,而是按照"顺序响应并支付"按钮 form-checkout.php 中使用的代码:
<?php do_action('woocommerce_checkout_coupon_form', $checkout); ?>
<form name="checkout" method="post" class="checkout woocommerce-checkout" action="<?php echo esc_url( wc_get_checkout_url() ); ?>" enctype="multipart/form-data">
<div class="checkout-form-container">
<?php if ( sizeof( $checkout->checkout_fields ) > 0 ) : ?>
<?php do_action( 'woocommerce_checkout_before_customer_details' ); ?>
<div class="col2-set" id="customer_details">
<div class="col-1">
<?php do_action( 'woocommerce_checkout_billing' ); ?>
</div>
</div>
<?php do_action( 'woocommerce_checkout_after_customer_details'); ?>
<p class="form-row form-row-first">
<label for="coupon_code">Coupon?</label>
<input type="text" name="coupon_code" class="custom-coupon-code-input input-text" placeholder="<?php esc_attr_e( 'Wprowadż kod', 'woocommerce' ); ?>" id="coupon_code" value="" />
</p>
<p class="form-row form-row-last">
<input type="submit"button class="button custom-apply-coupon-btn">
<?php esc_attr_e( 'Apply', 'woocommerce' ); ?>
</button>
</p>
<?php endif; ?>
</div>
答案 0 :(得分:0)
检查结帐页面HTML。您实际上是将优惠券表格放在结账表格中。 HTML表单不支持嵌套表单。
将表单放在结帐表单之外。如果您确实需要在那里展示它们,请点击“应用优惠券”,然后通过javascript获取这些值。按钮并进行验证。但是另一种形式的表单标签不是正确的方法。
提交按钮也是提交父表单。这就是你得到这个原因的原因。
答案 1 :(得分:0)
我知道问题出在哪里。一切都在woo 2.6.8上完美运行,但是在更新到3.0.4之后它就像我上面描述的那样崩溃了。