Skip to content

Instantly share code, notes, and snippets.

@MaryOJob
Forked from pbrocks/a-gettext-filter-4-pmpro.php
Last active September 22, 2020 23:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MaryOJob/2701f5a82769422866c1883d17411339 to your computer and use it in GitHub Desktop.
Save MaryOJob/2701f5a82769422866c1883d17411339 to your computer and use it in GitHub Desktop.
Sometimes we may want to change the wording of the language used in a plugin or theme, but don't want to edit code directly. A cleaner way to go is to use the built in filter that WordPress has called 'gettext'. This filter will search your codebase for translatable strings and replace when an exact match is found.
<?php // Do not copy this line
/**
* This filter will search your codebase for translatable strings and replace when an exact match is found.
*
* Here we're changing 'Membership' to 'Subscription' for Paid Memberships Pro.
*
* Add this code to your PMPro Customizations Plugin
* https://www.paidmembershipspro.com/create-a-plugin-for-pmpro-customizations/
* Note: When adding to your Customizations Plugin, be careful not to include the opening php tag on line 1 above.
*
* @param string $output_text this represents the end result
* @param string $input_text what is written in the code that we want to change
* @param string $domain text-domain of the plugin/theme that contains the code
*
* @return string the result of the text transformation
*/
function my_gettext_membership( $output_text, $input_text, $domain ) {
if ( ! is_admin() && 'paid-memberships-pro' === $domain ) {
$output_text = str_replace( 'Select', 'Subscribe', $output_text );
}
return $output_text;
}
add_filter( 'gettext', 'my_gettext_membership', 10, 3 );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment