我正在尝试更改购物车页面上优惠券字段的位置。我对动作和钩子模糊不清,所以我知道我需要首先删除woocommerce_cart_coupon动作并将其挂钩到另一个动作,如下例所示:
remove_action( 'woocommerce_checkout_order_review', 'woocommerce_order_review', 10 );
add_action( 'woocommerce_checkout_before_customer_details', 'woocommerce_order_review', 10 );
我的问题是,我不知道从哪里解开这个动作。我找不到购物车挂钩列表及其挂钩操作(例如 content-single-product.php
文件)+订单。
优惠券字段应放在“继续结帐”按钮之后。有什么想法吗?
由于
答案 0 :(得分:2)
钩子 woocommerce_cart_coupon
不会挂钩优惠券PHP代码本身,您将无法像在您的示例中那样使用它。
相关的优惠券php代码(在购物车页面上)位于第132至150行的 cart/cart.php
模板上,并未挂钩在单独的模板中。因此,您必须修改 cart/cart.php
模板,这不会那么容易。
答案 1 :(得分:1)
使用正确的表单操作将优惠券PHP包装在表单标记中。
<?php if ( wc_coupons_enabled() ) { ?>
<div class="coupon">
<form action="http://example.com/cart/" method="post">
<label for="coupon_code"><?php esc_html_e( 'Coupon:', 'woocommerce' ); ?></label>
<input type="text" name="coupon_code" class="input-text" id="coupon_code" value="" placeholder="<?php esc_attr_e( 'Coupon code', 'woocommerce' ); ?>" />
<button type="submit" class="button" name="apply_coupon" value="<?php esc_attr_e( 'Apply coupon', 'woocommerce' ); ?>"><?php esc_attr_e( 'Apply coupon', 'woocommerce' ); ?></button>
</form>
<?php do_action( 'woocommerce_cart_coupon' ); ?>
</div>
<?php } ?>