WooCommerce:在购物车页面上移动优惠券字段

时间:2017-01-10 22:59:36

标签: php wordpress templates woocommerce cart

我正在尝试更改购物车页面上优惠券字段的位置。我对动作和钩子模糊不清,所以我知道我需要首先删除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 文件)+订单。

优惠券字段应放在“继续结帐”按钮之后。有什么想法吗?

由于

2 个答案:

答案 0 :(得分:2)

钩子 woocommerce_cart_coupon 不会挂钩优惠券PHP代码本身,您将无法像在您的示例中那样使用它。

相关的优惠券php代码(在购物车页面上)位于第132至150行的 cart/cart.php 模板上,并未挂钩在单独的模板中。因此,您必须修改 cart/cart.php 模板,这不会那么容易。

以下是Overriding Templates via a Theme (Templates structure)

的官方相关文档

答案 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 } ?>