Last active
July 5, 2023 19:34
-
-
Save maxrice/8551024 to your computer and use it in GitHub Desktop.
WooCommerce - rename the "Have a Coupon?" message and "Apply Coupon" field on the checkout
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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 ); |
I just went through this and this code snippet is working for me:
/**
* Change 'coupon' text to 'voucher'
* @source https://gist.github.com/maxrice/8551024
*/
function bt_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 = 'Voucher Code:';
}
if ('Coupon has been removed.' === $text){
$translated_text = 'Voucher code has been removed.';
}
if ( 'Apply coupon' === $text ) {
$translated_text = 'Apply voucher';
}
if ( 'Coupon code' === $text ) {
$translated_text = 'Voucher code';
}
return $translated_text;
}
add_filter( 'gettext', 'bt_rename_coupon_field_on_cart', 10, 3 );
/**
* Change 'coupon' text to 'voucher'
* @source https://gist.github.com/maxrice/8551024
*/
function bt_rename_coupon_message_on_checkout() {
return 'Have a voucher code?' . ' <a href="#" class="showcoupon">' . __( 'Click here to enter your code', 'woocommerce' ) . '</a>.';
}
add_filter( 'woocommerce_checkout_coupon_message', 'bt_rename_coupon_message_on_checkout' );
/**
* Change 'coupon' text to 'voucher'
* @source https://gist.github.com/maxrice/8551024
*/
function bt_rename_coupon_label( $err, $err_code=null, $something=null ){
$err = str_ireplace("Coupon","voucher",$err);
return $err;
}
add_filter( 'woocommerce_coupon_error', 'bt_rename_coupon_label', 10, 3 );
add_filter( 'woocommerce_coupon_message', 'bt_rename_coupon_label', 10, 3 );
add_filter( 'woocommerce_cart_totals_coupon_label', 'bt_rename_coupon_label',10, 1 );
Just posting it for easy reference for future developers, as it compiles others feedback in this thread, plus fixes missing bits of html in one of the comments.
Actually I've tweaked it to the following code now, just to catch a couple more edge cases:
/**
* Soka - Change 'coupon' text to 'voucher'
* @source https://gist.github.com/maxrice/8551024
*/
function soka_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 = 'Voucher Code:';
}
if ('Coupon has been removed.' === $text){
$translated_text = 'Voucher code has been removed.';
}
if ( 'Apply coupon' === $text ) {
$translated_text = 'Redeem voucher';
}
if ( 'Coupon code' === $text ) {
$translated_text = 'Voucher code';
}
if ( 'If you have a coupon code, please apply it below.' === $text ) {
$translated_text = 'If you have a voucher code, please apply it below.';
}
return $translated_text;
}
add_filter( 'gettext', 'soka_rename_coupon_field_on_cart', 10, 3 );
/**
* Soka - Change 'coupon' text to 'voucher'
* @source https://gist.github.com/maxrice/8551024
*/
function soka_rename_coupon_message_on_checkout() {
return 'Have a voucher code?' . ' <a href="#" class="showcoupon">' . __( 'Click here to enter your code', 'woocommerce' ) . '</a>.';
}
add_filter( 'woocommerce_checkout_coupon_message', 'soka_rename_coupon_message_on_checkout' );
/**
* Soka - Change 'coupon' text to 'voucher'
* @source https://gist.github.com/maxrice/8551024
*/
function soka_rename_coupon_label( $err, $err_code=null, $something=null ){
$err = str_replace("Coupon","Voucher",$err);
$err = str_replace("coupon","voucher",$err);
return $err;
}
add_filter( 'woocommerce_coupon_error', 'soka_rename_coupon_label', 10, 3 );
add_filter( 'woocommerce_coupon_message', 'soka_rename_coupon_label', 10, 3 );
add_filter( 'woocommerce_cart_totals_coupon_label', 'soka_rename_coupon_label',10, 1 );
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This is not working for me as well.
@Ruben2600 try to change with css.
replace it with proper css class (applied in your theme).