Say what?


Этот легкий в использовании плагин позволяет изменять строки на вашем сайте без необходимости редактировать код ядра WordPress, плагинов или тем. Просто введите оригинал строки и строку, которой вы хотите его заменить. Плагин сам сделает всё остальное!

The plugin’s available for forking and contribution over on GitHub

Check out Say What Pro for:

  • String discovery — Don’t have the time/expertise to find strings in the code, set up replacements easily with easy-to-use autocomplete features
  • Произвольная замена текста — замена отдельных слов или фрагментов текста на сайте
  • 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


You’re free to use this package for free, but if it makes it to your production environment please buy the world some trees.


  • Finding a string to replace
  • The admin screen - setting up a replacement
  • The result


  • 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 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


Used this on a recent project and it saved me a load of time. I had a couple of questions for Lee when I got stuck and he was really quick to help, really polite and took the time to explain it properly (unlike some other developers who just give mystic one line answers!) Highly recommended 🙂
First of all, we cannot judge the functionality of the product, as it has never been used. This evaluation refers only to the developer's dealings with customers. Therefore we also award three stars instead of one, because we hypothetically assume that the product itself works and does what it is supposed to do. The invoice issued is unfortunately unusable for non-UK tax authorities and was rejected by our authority. Not only are the necessary details for tax authorities missing, the invoice is only available as an e-mail and not - as is usually the case - as a PDF. In one word: unusable. Our request regarding a properly issued invoice was not met in any way. The reaction is pure impudence. Say what Pro was immediately removed from our system and will never be used again, as we cannot be sure that the manufacturer will not react just as dubiously in the event of a further support request. For B2B this supplier is unfortunately not recommended from our perspective. [Update: correction of header typo]
It works like a charm but a little bit confused for me at first time. This is the rule. 1. It will be easy to replace some core wordpress word/phrase. Just fill in the original string and replacement string, ignore the other two. 2. Changing/replacing plugin text, it requires to fill in the text domain field. We need to find source code of the plugin and plugin editor can help us to so. So text domain text is as below. $foo = __('This is a translatable string', 'text-domain'); Just copy it and paste into the text domain field. Thanks for your great plugin.
Посмотреть все 77 отзывов

Участники и разработчики

«Say what?» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:


«Say what?» переведён на 9 языков. Благодарим переводчиков за их работу.

Перевести «Say what?» на ваш язык.

Заинтересованы в разработке?

Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.

Журнал изменений


  • 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


  • Обновлена информация о функционале Про-версии


  • Fix issue adding more strings after downgrade from Pro
  • Update text domain of plugin to match 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


Documentation improvements


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