Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
WooCommerce - rename the "Have a Coupon?" message and "Apply Coupon" field on the checkout
<?php
// rename the "Have a Coupon?" message on the checkout page
function woocommerce_rename_coupon_message_on_checkout() {
return 'Have a Promo Code?' . ' <a href="#" class="showcoupon">' . __( 'Click here to enter your code', 'woocommerce' ) . '</a>';
}
add_filter( 'woocommerce_checkout_coupon_message', 'woocommerce_rename_coupon_message_on_checkout' );
// rename the coupon field on the checkout page
function woocommerce_rename_coupon_field_on_checkout( $translated_text, $text, $text_domain ) {
// bail if not modifying frontend woocommerce text
if ( is_admin() || 'woocommerce' !== $text_domain ) {
return $translated_text;
}
if ( 'Coupon code' === $text ) {
$translated_text = 'Promo Code';
} elseif ( 'Apply Coupon' === $text ) {
$translated_text = 'Apply Promo Code';
}
return $translated_text;
}
add_filter( 'gettext', 'woocommerce_rename_coupon_field_on_checkout', 10, 3 );
@GarrettSYHampton

This comment has been minimized.

Copy link

GarrettSYHampton commented Mar 5, 2014

Thanks for this! Works great as of WooCommerce 2.1.3 / WordPress 3.8.1.

@craiggrella

This comment has been minimized.

Copy link

craiggrella commented Mar 7, 2014

Max, you the man. This work perfect. Thanks.

@bradleysa

This comment has been minimized.

Copy link

bradleysa commented Oct 24, 2014

Thanks Max. While using this snippet, after the promo code is successfully entered, the message given is "Coupon code applied successfully." I'm wondering how we can change that text as well from 'Coupon' to 'Promo', presumably using WC_COUPON_SUCCESS

@bridgetwes

This comment has been minimized.

Copy link

bridgetwes commented Nov 24, 2014

Filter woocommerce_coupon_message will change the "Coupon code applied successfully." message

@bridgetwes

This comment has been minimized.

Copy link

bridgetwes commented Nov 24, 2014

Also filter woocommerce_cart_totals_coupon_label will change "Coupon" label in "Cart Totals" box on Cart page and "Your Order" box on checkout.

@gainleads

This comment has been minimized.

Copy link

gainleads commented Apr 30, 2016

thanks for this, just what i needed. Really appreciate it!

@ghost

This comment has been minimized.

Copy link

ghost commented Jun 28, 2017

As of WC 3.0, the word "coupon" in Apply Coupon on line 21 should be lowercase,

@Preciousomonze

This comment has been minimized.

Copy link

Preciousomonze commented Jul 14, 2017

Works perfectly, thanks

@Firthir

This comment has been minimized.

Copy link

Firthir commented Jul 21, 2017

if ( 'Coupon code' === $text ) { $translated_text = 'Voucher Code'; } elseif ( 'Apply coupon' === $text ) { $translated_text = 'Apply Voucher Code'; } elseif ( 'Coupon:' === $text ) { $translated_text = 'Gift Voucher'; }

I found the filter hook perfect but the if requires exact matches eg "Coupon" needs to be "Coupon:".

@bradleywiebe2

This comment has been minimized.

Copy link

bradleywiebe2 commented Aug 6, 2017

I used the below inside functions.php to successfully change "Coupon Code" to "Customer Code". I just used "Apply Code" in order to keep the button from becoming too wide & wordy. Used on Wordpress 4.8.1 with WooCommerce 3.1.1.

// rename the coupon field on the cart page
function woocommerce_rename_coupon_field_on_cart( $translated_text, $text, $text_domain ) {
	// bail if not modifying frontend woocommerce text
	if ( is_admin() || 'woocommerce' !== $text_domain ) {
		return $translated_text;
	}
	if ( 'Coupon:' === $text ) {
		$translated_text = 'Customer Code:';
	}
	return $translated_text;
}
add_filter( 'gettext', 'woocommerce_rename_coupon_field_on_cart', 10, 3 );

// rename the "Have a Coupon?" message on the checkout page
function woocommerce_rename_coupon_message_on_checkout() {
	return 'Have a Customer Code?' . ' <a href="#" class="showcoupon">' . __( 'Click here to enter your code', 'woocommerce' ) . '</a>';
}
add_filter( 'woocommerce_checkout_coupon_message', 'woocommerce_rename_coupon_message_on_checkout' );
// rename the coupon field on the checkout page
function woocommerce_rename_coupon_field_on_checkout( $translated_text, $text, $text_domain ) {
	// bail if not modifying frontend woocommerce text
	if ( is_admin() || 'woocommerce' !== $text_domain ) {
		return $translated_text;
	}
	if ( 'Coupon code' === $text ) {
		$translated_text = 'Customer Code';
	
	} elseif ( 'Apply coupon' === $text ) {
		$translated_text = 'Apply Code';
	}
	return $translated_text;
}
add_filter( 'gettext', 'woocommerce_rename_coupon_field_on_checkout', 10, 3 );`
```
@WebDevByAlex

This comment has been minimized.

Copy link

WebDevByAlex commented Sep 15, 2017

@bradleywiebe2 Thanx bro! Your's was the only code that I found online that worked for both the button and placeholder and on both the cart and checkout pages :)

@krgauravit007

This comment has been minimized.

Copy link

krgauravit007 commented Feb 14, 2018

@bradleywiebe2 - Really - Your code only worked for label on button . Now, How do I change text for coupon success or unsuccess message. Please advice.

@zakirsajib

This comment has been minimized.

Copy link

zakirsajib commented Feb 25, 2018

function my_text_strings( $translated_text, $text, $domain ) {
    switch ( $translated_text ) {
        case 'Billing details' :
            $translated_text = __( 'Faktureringsdetaljer', 'woocommerce' );
            break;
        case 'Your order' :
            $translated_text = __( 'Din bestilling', 'woocommerce' );
            break;
        case 'View cart' :
            $translated_text = __( 'Se indkøbsvogn', 'woocommerce' );
            break;
        case 'Apply coupon' :
            $translated_text = __( 'Anvend kupon', 'woocommerce' );
            break;
        case 'Update cart' :
            $translated_text = __( 'Opdater indkøbsvogn', 'woocommerce' );
            break;
        case 'Proceed to checkout' :
            $translated_text = __( 'Gå til kassen', 'woocommerce' );
            break;
        case 'Cart totals' :
            $translated_text = __( 'Indkøbskurv totaler', 'woocommerce' );
            break;
        case 'Place order' :
            $translated_text = __( 'Angiv bestilling', 'woocommerce' );
            break;
    }
    return $translated_text;
}
add_filter( 'gettext', 'my_text_strings', 20, 3 );

// rename the "Have a Coupon?" message on the checkout page
function woocommerce_rename_coupon_message_on_checkout() {
	return 'Har du en kupon?' . ' <a href="#" class="showcoupon">' . __( 'Klik her for at indtaste din kode', 'woocommerce' ) . '</a>';
}
add_filter( 'woocommerce_checkout_coupon_message', 'woocommerce_rename_coupon_message_on_checkout' );
@stewartanthony

This comment has been minimized.

Copy link

stewartanthony commented Apr 3, 2018

Not sure what im doing wrong here, but I cant get this to work. I've downloaded the wc-rename-checkout-coupon-field.php file and uploaded it inside my theme folder but nothing happened. Is that wrong?

@BKeanu1989

This comment has been minimized.

Copy link

BKeanu1989 commented Apr 22, 2018

@stewartanthony the code won't be executed. you have to put inside your theme functions.php or some plugin. In your case I would advise going for the solution with functions.php

@johnlaine1

This comment has been minimized.

Copy link

johnlaine1 commented May 31, 2018

@bradleywiebe2 - Works like a charm, thank you sir!

@FrankTsaur

This comment has been minimized.

Copy link

FrankTsaur commented Sep 6, 2018

I'm having just a bit of trouble...Everything works great, however, one part that that I can't seem to fix is on the checkout page. I changed the name of the coupon code section in every part successfully to "Gift Code" instead, except this area:

"If you have a coupon code, please apply it below." see screenshot: http://prntscr.com/kr9nkj

How do I change that line to say "Gift Code" as well?

Here is the code I'm using:

`// rename the coupon field on the cart page
function woocommerce_rename_coupon_field_on_cart( $translated_text, $text, $text_domain ) {
// bail if not modifying frontend woocommerce text
if ( is_admin() || 'woocommerce' !== $text_domain ) {
return $translated_text;
}
if ( 'Coupon:' === $text ) {
$translated_text = 'Gift Code:';
}
return $translated_text;
}
add_filter( 'gettext', 'woocommerce_rename_coupon_field_on_cart', 10, 3 );

// rename the "Have a Coupon?" message on the checkout page
function woocommerce_rename_coupon_message_on_checkout() {
return 'Have a Gift Code?' . ' ' . __( 'Click here to enter your code', 'woocommerce' ) . '';
}
add_filter( 'woocommerce_checkout_coupon_message', 'woocommerce_rename_coupon_message_on_checkout' );
// rename the coupon field on the checkout page
function woocommerce_rename_coupon_field_on_checkout( $translated_text, $text, $text_domain ) {
// bail if not modifying frontend woocommerce text
if ( is_admin() || 'woocommerce' !== $text_domain ) {
return $translated_text;
}
if ( 'Coupon code' === $text ) {
$translated_text = 'Gift Code';

} elseif ( 'Apply coupon' === $text ) {
	$translated_text = 'Apply Code';
}
return $translated_text;

}
add_filter( 'gettext', 'woocommerce_rename_coupon_field_on_checkout', 10, 3 );`

@foamymedia

This comment has been minimized.

Copy link

foamymedia commented Sep 7, 2018

you can just edit the woocommerce/checkout/form-coupon.php file and add this to your theme

@gabros20

This comment has been minimized.

Copy link

gabros20 commented Apr 7, 2019

In case someone want's to change the "If you have a coupon code, please apply it below." string to something else, here is a way to do it.

add_filter( 'gettext', 'woocommerce_change_coupon_field_instruction_text' );

function woocommerce_change_coupon_field_instruction_text($translated) {
$translated = str_ireplace('If you have a coupon code, please apply it below.', 'YOUR NEW STRING', $translated);
return $translated;
}
@jthomae1

This comment has been minimized.

Copy link

jthomae1 commented Dec 13, 2019

@gabros20 anything changed here? That's not working for me so far

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.