An easy-to-use plugin that allows you to alter strings on your site without editing WordPress core, or plugin code. Simply enter the current string, and what you want to replace it with and the plugin will automatically do the rest!
The plugin’s available for forking and contribution over on GitHub
Check out Say What Pro for:
- Improved performance using text-domain-specific filters
- Wildcard string replacements – replace individual words, or fragments across your whole site
- Multi-lingual support – set different replacements for different languages on multi-lingual sites
- Import/export features – Easy import/export of replacements through the user interface
Support this free plugin
As a business, we already donate a percentage of our profits from premium plugins to global climate change projects. You’re free to use this plugin free of charge, but if you do, please consider buying the world some trees in return. You’ll be creating employment for local families and restoring wildlife habitats.
- Install it as you would any other plugin
- Activate it
- Head over to Tools » Text changes and configure some string replacements
Can I use it to change any string?
You can only use the plugin to translate strings which are marked for translation.
How do I find the string to translate?
You can either have a guess, or checkout the plugin in question’s source code, translatable strings are generally wrapped in __(), _e(), _n(), or _x(), for example:
$foo = __('This is a translatable string', 'plugin-domain');
The article here shows some examples of what you’re looking for. Alternatively, the Pro version of the plugin provides a String Discovery mode which means you can search for strings on your site via autocomplete suggestions.
Is there any support for importing replacements?
“Say What?” has preliminary support for exporting, and importing replacements via http://wp-cli.org/. The following commands are currently
- export – Export all current string replacements.
- import – Import string replacements from a CSV file.
- list – Export all current string replacements. Synonym for ‘export’.
- update – update string replacements from a CSV file.
See the GitHub homepage for examples.
Can I set different replacements for different languages?
Not in the free plugin, however this is available in the Pro version of the plugin
Contributors and Developers
“Say what?” is open source software. The following people have contributed to this plugin.Contributors
- Reduce size of bundled images
- Update dev build scripts
- Supports replacing text in Gutenberg / WooCommerce admin / WooCommerce blocks
- Update details of Say What? Pro vs free plugin
- Fix issue where replacement table disappeared at small screen widths
- Update WordPress compatibility
- Changes to donation / upsell content
- Fix link in documentation
- WordPress 5.5 compatibility
- Changes to Treeware links
- Ensure help links open in new windows
- Fix link target in Treeware content
- Suggest Treeware donations
- Update information about Pro features
- Fix issue adding more strings after downgrade from Pro
- Update text domain of plugin to match wordpress.org guidelines to aid translations
- Documentation updates only
- Update plugin links, include settings and upgrade link
- Update documentation about pro features
- Admin styling fixes
- Fix issues where entities could be double encoded on admin screens.
- Update to admin marketing message. No functional changes.
- Support for _n() and _nx()
- Support for multi-line strings
Introduce filters that allows back compatibility for plugins that change their text-domain. Props Pippin Williamson
Avoid warnings on initial activation.
Avoid issues where strings contain HTML / entities
Add info box about Pro version
Support for WP-CLI import and export.
Swap database to UTF-8 to fix problems entering non-ASCII strings.
Fix incorrect escaping on the admin screens.
Fix initial DB table creation
Fix translations for strings with no domain
Allow strings with context to be replaced
Avoid wpdb->prepare warning
Minor admin fixes, don’t double translate strings
Fix issue with fields being swapped when first entered
Beta ready for testing and feedback