FREE SPEED AUDIT
FREE SPEED AUDIT

Change any WordPress Text on Entire Site

written by WP Fix It

March 28, 2018

Get ready for an amazing snippet of code that will allow you to Change any WordPress Text on your entire site. This is WordPress Ninja stuff here and oh so useful!!!

Is there an output of text perhaps in a plugin that you want to change but you do not want to mess with the actual plugin code? Even if you did want to adjust the files inside a plugin to change the text this would be overwritten when there are future updates to the plugin.

Let us give you a real world use for this. A massive part of our site is ticket credit that customers purchase to redeem at a later date for WordPress Support. The plugin we use to distribute this ticket credit is WooCommmerce Smart Coupons. Now the way this plugin is built is that it outputs the text Store Credit and Coupons through the areas it displays info. We wanted to change this output to Ticket Credit. So instead of editing over 13 PHP plugin files and over 1000 instances of these words, we simply used the snippet shared below to do this. The best part is we can update the plugin as new versions are released and we never have to worry about our custom text changing. Change any WordPress Text can have many uses.


Below is the snippet you need to add to the functions.php file of your active theme.
Be sure to change the 2 items “ORIGINAL TEXT” and “NEW TEXT” to your desire.

/* Change Text Site Wide */

function wpfi_change_text( $translated_text ) {
	if ( $translated_text == 'ORIGINAL TEXT' ) {
		$translated_text = 'NEW TEXT';
	}
	return $translated_text;
}
add_filter( 'gettext', 'wpfi_change_text', 20 );

The “NEW TEXT” will also accept HTML so you can get really creative with this.

ENJOY THIS AND SHARE SOME LOVE BELOW!

22 Shares
WordPress Speed Up Service

You May Also Like…

18 Comments

  1. fred

    can you do this more than once because when I try to add it again in the functions it makes the whole wordpress page blank, works fine if done once? thoughts?

    Reply
    • WP Fix It Support

      You must change the function name if you do it twice. A WP function can not have the same name as another WP function.

      Reply
    • Stefan

      Yes you can, if you create an IF for every new text.
      Like this:

      add_filter( ‘gettext’, ‘wpfi_change_text’, 20 );
      function wpfi_change_text( $translated_text ) {
      if ( $translated_text == ‘ORIGINAL TEXT1’ ) {
      $translated_text = ‘NEW TEXT1’;
      }
      if ( $translated_text == ‘ORIGINAL TEXT2’ ) {
      $translated_text = ‘NEW TEXT2’;
      }
      if ( $translated_text == ‘ORIGINAL TEXT3’ ) {
      $translated_text = ‘NEW TEXT3’;
      }
      if ( $translated_text == ‘ORIGINAL TEXT4’ ) {
      $translated_text = ‘NEW TEXT4’;
      }

      return $translated_text;
      }

      Reply
  2. Stefan

    Great snippet!
    However, it does not work everywhere.
    I’m trying to fix an issue with woocommerce checkout field errors, and this snippet doesen’t affect these texts.
    Is there any way to use a snippet to change field error messages as well?

    Reply
    • WP Fix It Support

      Would need to edit the actual WooCommerce template files.

      Reply
  3. Niti

    Thanks for this snippet. It saved me lots of time.

    Reply
  4. Tamás

    Thank you! It helped me a lot!

    Tamas

    Reply
  5. Ovidiu

    Nice little snippet, thank you, I’ve used it on a theme that kept changing the copyright text to the default text each time I saved the options.

    How about making this work on Dashboard only? Will this be possible?

    Reply
  6. Angela

    Perfect, thank you!

    Reply
  7. Nate Hunter

    this would be better as a plugin so that if the template or site gets updated it doesnt erase the code snippet

    Reply
    • WP Fix It Support

      There are already many plugins that do this. This is another way that is simple and not plugin or database entries needed.

      Reply
    • jeff blanks

      Fantastic snippet, and a great idea, as a plugin and thats what we needed to do for a tonne of sites that use the same template, we just turned it into a plugin file (just copy hello dolly plugin layout) and each site could have is own translations for custom theme sections – make sure to encompass all translatable strings in

      Reply
  8. Hansel

    Hi guys! For some reason this is not accepting HTML anymore. Trying to replace the text “No order has been made yet.” within WooCommerce’s My Account Orders tab (my-account/orders/) and it won’t render the HTML.

    Any suggestions?

    Thank you in advance!

    Reply
    • WP Fix It

      Hard to say without seeing files and having access. Just edit WooCommerce file directly.

      Reply

Submit a Comment

Your email address will not be published. Required fields are marked *

LET US GET STARTED RIGHT AWAY

READY TO GET YOUR SITE FIXED