在 WooCommerce 结账时将优惠券表格移动到小计之前
Move coupon form before subtotal in WooCommerce checkout
在我的店面子主题中,在结帐页面中,我试图将优惠券代码块移动到购物车总数上方和商品评论下方
我在 review-order.php
中看到在正确的位置有以下钩子:
do_action( 'woocommerce_review_order_after_cart_contents' );
所以在 functions.php 文件中,我添加了:
remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10 );
add_action( 'woocommerce_review_order_after_cart_contents', 'woocommerce_checkout_coupon_form' );
但是,优惠券块出现了两次...并且在订单评论上方而不是下方。
2021 年更新 使用:
由于钩子woocommerce_review_order_after_cart_contents
is located inside an html table位于</tr>
和</tbody>
标签之间,所以需要显示在特定的html结构中,以避免你的问题。
以下将执行此操作:
remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10 );
add_action( 'woocommerce_review_order_after_cart_contents', 'woocommerce_checkout_coupon_form_custom' );
function woocommerce_checkout_coupon_form_custom() {
echo '<tr class="coupon-form"><td colspan="2">';
wc_get_template(
'checkout/form-coupon.php',
array(
'checkout' => WC()->checkout(),
)
);
echo '</tr></td>';
}
代码进入活动子主题(或活动主题)的 functions.php 文件。已测试并有效。
如果您想直接显示优惠券表格,您可以在您的活动子主题(或活动主题)的 style.css 文件中添加以下内容:
.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon {
display: block !important;
}
相关:
在我的店面子主题中,在结帐页面中,我试图将优惠券代码块移动到购物车总数上方和商品评论下方
我在 review-order.php
中看到在正确的位置有以下钩子:
do_action( 'woocommerce_review_order_after_cart_contents' );
所以在 functions.php 文件中,我添加了:
remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10 );
add_action( 'woocommerce_review_order_after_cart_contents', 'woocommerce_checkout_coupon_form' );
但是,优惠券块出现了两次...并且在订单评论上方而不是下方。
2021 年更新 使用:
由于钩子woocommerce_review_order_after_cart_contents
is located inside an html table位于</tr>
和</tbody>
标签之间,所以需要显示在特定的html结构中,以避免你的问题。
以下将执行此操作:
remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10 );
add_action( 'woocommerce_review_order_after_cart_contents', 'woocommerce_checkout_coupon_form_custom' );
function woocommerce_checkout_coupon_form_custom() {
echo '<tr class="coupon-form"><td colspan="2">';
wc_get_template(
'checkout/form-coupon.php',
array(
'checkout' => WC()->checkout(),
)
);
echo '</tr></td>';
}
代码进入活动子主题(或活动主题)的 functions.php 文件。已测试并有效。
如果您想直接显示优惠券表格,您可以在您的活动子主题(或活动主题)的 style.css 文件中添加以下内容:
.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon {
display: block !important;
}
相关: