在 Woocommerce 结帐页面中隐藏优惠券通知表格
Hide Coupon notice form in Woocommerce checkout page
在我的网站上,包含 "Have a coupon? Click here to enter your code" 框的结帐页面。我不想在结帐时使用此字段 page.I 通过 URl 应用优惠券。我想通过 CSS 从结帐页面中删除此框。我在我的结帐页面附上了那个盒子的截图。
这可能吗?
我已经试过了:
function hide_coupon_field_on_checkout( $enabled ) {
if ( is_checkout() ) {
$enabled = false;
}
return $enabled;
}
add_filter( 'woocommerce_coupons_enabled', 'hide_coupon_field_on_checkout' );
但它会禁用结帐页面中的优惠券功能。
任何帮助将不胜感激。
此标签似乎没有分配唯一的 id/class。但是像这样的东西应该可以做到:
$(".showcoupon").closest(".woocommerce-info").hide();
您可以在 wp-content/themes/yourtheme/woocommerce/checkout/form-coupon.php
和评论 wc_print_notice
覆盖优惠券模板文件,并将表单显示设置为 none。
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
if ( ! wc_coupons_enabled() ) {
return;
}
if ( empty( WC()->cart->applied_coupons ) ) {
$info_message = apply_filters( 'woocommerce_checkout_coupon_message', __( 'Have a coupon?', 'woocommerce' ) . ' <a href="#" class="showcoupon">' . __( 'Click here to enter your code', 'woocommerce' ) . '</a>' );
//wc_print_notice( $info_message, 'notice' );
}
?>
<form class="checkout_coupon" method="post" style="display:none">
<p class="form-row form-row-first">
<input type="text" name="coupon_code" class="input-text" placeholder="<?php esc_attr_e( 'Coupon code', 'woocommerce' ); ?>" id="coupon_code" value="" />
</p>
<p class="form-row form-row-last">
<input type="submit" class="button" name="apply_coupon" value="<?php esc_attr_e( 'Apply coupon', 'woocommerce' ); ?>" />
</p>
<div class="clear"></div>
</form>
您可以使用挂钩在 woocommerce_before_checkout_form
操作挂钩中的自定义函数,它将 删除通知优惠券表单 而无需禁用优惠券结帐页面中的功能:
add_action( 'woocommerce_before_checkout_form', 'remove_checkout_coupon_form', 9 );
function remove_checkout_coupon_form(){
remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10 );
}
代码进入活动子主题(或活动主题)的 function.php 文件。
已测试并有效。
在我的网站上,包含 "Have a coupon? Click here to enter your code" 框的结帐页面。我不想在结帐时使用此字段 page.I 通过 URl 应用优惠券。我想通过 CSS 从结帐页面中删除此框。我在我的结帐页面附上了那个盒子的截图。
这可能吗?
我已经试过了:
function hide_coupon_field_on_checkout( $enabled ) {
if ( is_checkout() ) {
$enabled = false;
}
return $enabled;
}
add_filter( 'woocommerce_coupons_enabled', 'hide_coupon_field_on_checkout' );
但它会禁用结帐页面中的优惠券功能。
任何帮助将不胜感激。
此标签似乎没有分配唯一的 id/class。但是像这样的东西应该可以做到:
$(".showcoupon").closest(".woocommerce-info").hide();
您可以在 wp-content/themes/yourtheme/woocommerce/checkout/form-coupon.php
和评论 wc_print_notice
覆盖优惠券模板文件,并将表单显示设置为 none。
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
if ( ! wc_coupons_enabled() ) {
return;
}
if ( empty( WC()->cart->applied_coupons ) ) {
$info_message = apply_filters( 'woocommerce_checkout_coupon_message', __( 'Have a coupon?', 'woocommerce' ) . ' <a href="#" class="showcoupon">' . __( 'Click here to enter your code', 'woocommerce' ) . '</a>' );
//wc_print_notice( $info_message, 'notice' );
}
?>
<form class="checkout_coupon" method="post" style="display:none">
<p class="form-row form-row-first">
<input type="text" name="coupon_code" class="input-text" placeholder="<?php esc_attr_e( 'Coupon code', 'woocommerce' ); ?>" id="coupon_code" value="" />
</p>
<p class="form-row form-row-last">
<input type="submit" class="button" name="apply_coupon" value="<?php esc_attr_e( 'Apply coupon', 'woocommerce' ); ?>" />
</p>
<div class="clear"></div>
</form>
您可以使用挂钩在 woocommerce_before_checkout_form
操作挂钩中的自定义函数,它将 删除通知优惠券表单 而无需禁用优惠券结帐页面中的功能:
add_action( 'woocommerce_before_checkout_form', 'remove_checkout_coupon_form', 9 );
function remove_checkout_coupon_form(){
remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10 );
}
代码进入活动子主题(或活动主题)的 function.php 文件。
已测试并有效。