问题描述
我希望文本为 [Remove
],而不是 WooCommerce 结帐中用于添加优惠券的 [Remove & Re-Calculate
]。
我正在使用以下内容,文本已更改但没有链接(优惠券无法移除)。
这是我尝试过的:
add_filter( 'woocommerce_cart_totals_coupon_html','change_wc_coupon_removal_text',10,3 );
function change_wc_coupon_removal_text( $coupon_html,$coupon,$discount_amount_html ) {
$coupon_html = $discount_amount_html . '<br>' . 'Remove & Re-Calculate';
return $coupon_html;
}
解决方法
includes/wc-cart-functions.php 包含在第 293 行,就在 woocommerce_cart_totals_coupon_html
过滤器钩子之前。
$coupon_html = $discount_amount_html . ' <a href="' . esc_url( add_query_arg( 'remove_coupon',rawurlencode( $coupon->get_code() ),Constants::is_defined( 'WOOCOMMERCE_CHECKOUT' ) ? wc_get_checkout_url() : wc_get_cart_url() ) ) . '" class="woocommerce-remove-coupon" data-coupon="' . esc_attr( $coupon->get_code() ) . '">' . __( '[Remove]','woocommerce' ) . '</a>';
所以要替换文本,请使用:
function filter_woocommerce_cart_totals_coupon_html( $coupon_html,$coupon,$discount_amount_html ) {
// Change text
$coupon_html = $discount_amount_html . ' <a href="' . esc_url( add_query_arg( 'remove_coupon',defined( 'WOOCOMMERCE_CHECKOUT' ) ? wc_get_checkout_url() : wc_get_cart_url() ) ) . '" class="woocommerce-remove-coupon" data-coupon="' . esc_attr( $coupon->get_code() ) . '">' . __( '[Remove & Re-Calculate]','woocommerce' ) . '</a>';
return $coupon_html;
}
add_filter( 'woocommerce_cart_totals_coupon_html','filter_woocommerce_cart_totals_coupon_html',10,3 );
或
function filter_woocommerce_cart_totals_coupon_html( $coupon_html,$discount_amount_html ) {
// Change text
$coupon_html = str_replace( '[Remove]','[Remove & Re-Calculate]',$coupon_html );
return $coupon_html;
}
add_filter( 'woocommerce_cart_totals_coupon_html',3 );