更改购物车总数中不同优惠券名称的 WooCommerce 优惠券标签

Change WooCommerce coupon label for different coupon names in cart totals

我需要更改 WooCommerce 添加到购物车和结帐的默认优惠券标签 table。

这可以通过以下方式完成:

add_filter( 'woocommerce_cart_totals_coupon_label', 'my_function', 99, 2 );

function my_function( $label, $coupon ) {
    return 'Discount'; 
}

但是我需要不同的优惠券名称。我需要优惠券 1 为 'Discount',所有其他优惠券应显示为 'Coupon'(没有实际的优惠券名称),如 this image.

您可以使用 $coupon->get_code() 从优惠券对象中获取优惠券代码,该代码作为第二个参数传递给回调函数。

所以你得到:

function filter_woocommerce_cart_totals_coupon_label( $label, $coupon ) {
    // Compare
    if ( $coupon->get_code() == 'coupon 1' ) {
        $label = __( 'Discount', 'woocommerce' );       
    } else {
        $label = __( 'Coupon', 'woocommerce' );
    }
    
    return $label;
}
add_filter( 'woocommerce_cart_totals_coupon_label', 'filter_woocommerce_cart_totals_coupon_label', 10, 2 );