I love Woocommerce for building and making eCommerce sites but there are a couple of things that bug me about it and this is one of them. The use of the word “Coupon” to describe discounts on the checkout and cart pages. This is a US term and not everyone will understand or want to use it. Luckily I was able to find a way to change it, which involves adding some code to your functions.php file.

The word you want to change here is Coupon but there are specific places where you want to change the text. I’ve highlighted them in red below to make it easier for you. It’s probably best that you don’t change anything else unless you really know what you’re doing. The last thing you want to do is break your site and not be able to get back into it to fix it (that’s why you’re doing this on a test site, right?!!).

// 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 = 'Discount 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 Discount 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 = 'Discount Code';
	
	} elseif ( 'Apply coupon' === $text ) {
		$translated_text = 'Apply Code';
	}
	return $translated_text;
}
add_filter( 'gettext', 'woocommerce_rename_coupon_field_on_checkout', 10, 3 );

Big props to Bradley Wiebe for figuring this out.

Have fun kids!