user13639445
user13639445

Reputation:

Replace "Coupon code applied successfully." Message in WooCommerce

I'm not sure I did this correctly after having read through the woocommerce_add_$NOTICE_TYPE hook. What I want to do is change the Coupon code applied successfully message into my own custom text like this:

The %coupon_name% promotion code has been applied and redeemed successfully.

But I don't know how to get the coupon name.

add_filter( 'woocommerce_add_notice', function( $message ){
// get the coupon name here
if( $message == 'Coupon code applied successfully.' )
$message = 'The %coupon_name% promotion code has been applied and redeemed successfully.';
return $message;
});

Upvotes: 4

Views: 7184

Answers (1)

LoicTheAztec
LoicTheAztec

Reputation: 253921

There is a specific hook for "success" notice when applying or removing a coupon code:

add_filter( 'woocommerce_coupon_message', 'filter_woocommerce_coupon_message', 10, 3 );
function filter_woocommerce_coupon_message( $msg, $msg_code, $coupon ) {
    // $applied_coupons = WC()->cart->get_applied_coupons(); // Get applied coupons

    if( $msg === __( 'Coupon code applied successfully.', 'woocommerce' ) ) {
        $msg = sprintf( 
            __( "The %s promotion code has been applied and redeemed successfully.", "woocommerce" ), 
            '<strong>' . $coupon->get_code() . '</strong>' 
        );
    }

    return $msg;
}

Code goes in functions.php file of your active child theme (or active theme). Tested and works.

enter image description here

Upvotes: 11

Related Questions