在我的网站上的结帐页面包含"有优惠券?点击此处输入您的代码" 框。我不希望在结帐页面上显示此字段。我通过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' );
但它会在结帐页面中停用优惠券功能。
任何帮助将不胜感激。
答案 0 :(得分:7)
您可以使用隐藏在 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文件。
经过测试和工作。
答案 1 :(得分:2)
此标记似乎没有分配唯一的ID /类。但是这样的事情应该能够做到:
$(".showcoupon").closest(".woocommerce-info").hide();
答案 2 :(得分:1)
您可以在wp-content/themes/yourtheme/woocommerce/checkout/form-coupon.php
覆盖优惠券模板文件并发表评论wc_print_notice
,并将表单显示设置为无。
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>