preloader

Say What? plugin review and common issues

Say What? is used for running multilingual sites with translated content and language switching. In most cases, it fits business sites better than a custom build done too early. A common issue is that translated URLs, menus, or custom fields fall out of sync. This usually happens when complex sites need clear rules for duplicated and translated content. It can save time, but it still needs testing on a staging site before major changes go live. From experience, Say What? works best when you keep the setup focused and avoid overlapping plugins.

What is Say What? plugin?

Say What? is a lightweight WordPress plugin for overriding specific text strings in themes and plugins without editing files or creating PO translation files. While Loco Translate edits the full localization file of a theme or plugin, Say What? takes a more surgical approach: you identify a specific string (such as a button label, a widget title, or a plugin notice), enter the original text and the replacement text, and the plugin swaps it on every page load. No FTP, no terminal, no file permissions — just a simple admin table of string replacements.

Say What? is ideal for quick text customizations that do not warrant the overhead of creating a full localization file. Common use cases include: renaming “Leave a Reply” to a custom comment prompt, changing WooCommerce’s “Add to Cart” label, adjusting contact form plugin button text, or modifying any theme or plugin text that cannot be changed through theme settings. The plugin uses WordPress’s gettext filter hook, which means it works on any string that passes through the standard WordPress localization system.

Say What? is 100% free with no premium version. Its simplicity is both its strength and its limitation: it cannot handle strings that are not passed through WordPress gettext functions (the same limitation as Loco Translate), and it has no version control or export functionality. For minor text changes on live sites, Say What? is faster than any alternative. For comprehensive theme or plugin localization, Loco Translate provides a more complete solution.

Need Help With Say What? Setup, Troubleshooting, or Customization?

Need help with Say What?? Whether you are dealing with errors, broken functionality, styling problems, plugin conflicts, or advanced customization, we can help you fix the issue and get the plugin working properly on your WordPress site.

Get Say What? Expert Help

Key Features

  • Override specific theme and plugin text strings via admin table
  • No file editing, FTP, or command line required
  • Works on any string using WordPress gettext functions
  • Text domain support for targeting specific plugin or theme strings
  • Table-based management: add, edit, delete overrides

Pros & Cons

Pros

  • Fastest way to change specific theme or plugin text strings on a live site
  • No file access required — pure admin interface
  • Can target strings from specific plugins using text domain to avoid unintended matches

Cons

  • Only works on strings that use WordPress gettext functions — cannot change hardcoded text
  • No export or backup functionality

Free vs Premium

Completely free. No paid version.

Common Problems & Fixes

Say What? replacement is not working — the original text still appears on the site. How do I fix this?

The most common cause is an incorrect string entry. Say What? requires the replacement string to exactly match the original — including capitalization, punctuation, and spacing. Find the exact original string by viewing the page source or using browser DevTools → Inspect Element on the text, or by checking the theme/plugin PHP file where the string is defined. Also verify the text domain is correct — for a WooCommerce string, the text domain is “woocommerce”; for a theme string, it is the theme’s text domain (check style.css Text Domain header). If the text domain is left empty in Say What?, it matches all domains which may cause conflicts.

After changing a WooCommerce "Add to Cart" button text with Say What?, the change appears on product pages but not on the shop archive. Why?

WooCommerce uses different strings for the Add to Cart button depending on context. The archive page (shop listing) may use a different string than the single product page — for example, “Add to cart” (lowercase) in one context and “Add to Cart” (title case) in another. Create two Say What? entries with the same replacement text targeting each version of the string. Also check that the text domain for both entries is “woocommerce” to target only WooCommerce strings rather than potential matches in other plugins.

Say What? is changing a string in one plugin that I want to keep, while trying to change it in another plugin that uses the same wording. How do I target only one plugin?

Use the Text Domain field in Say What? to restrict the replacement to a specific plugin. Each plugin has a text domain (typically matching the plugin slug, listed in the plugin’s PHP header as Text Domain). Enter the specific plugin’s text domain to ensure the replacement only applies to strings from that plugin. If both plugins use the same text domain (uncommon but possible), the replacement will affect both — in that case, a custom code approach using the gettext filter with more specific conditions is needed.

Customization & Developer Notes

How do I find the text domain for a theme or plugin to use in Say What??

For plugins: open the main plugin PHP file (the one with plugin headers) and look for the “Text Domain:” field in the header comments, or search the file for load_plugin_textdomain() to find the domain string. For themes: open style.css and look for the “Text Domain:” field in the theme header. Alternatively, install Query Monitor and browse to a page containing the string — Query Monitor’s Languages panel shows all loaded text domains on the current page, making it easy to identify which domain corresponds to which text.

Can Say What? be used to translate strings into a different language rather than just replacing English with English?

Yes — Say What? can replace any string with text in any language. Enter the original English string in the “Original” field and the translated version in the “Replacement” field. This works as a lightweight single-language override for specific strings without creating a full PO file. However, for site-wide localization into another language, Loco Translate or a full localization workflow is more appropriate. Say What? is better suited for targeted overrides of a handful of strings rather than complete language replacement.

Frequently Asked Questions

Is Say What? better or worse than Loco Translate for changing plugin text?

They serve overlapping but distinct needs. Say What? is faster for changing one to five strings with no file management overhead — install, enter the string, done. Loco Translate is better for comprehensive localization of an entire plugin or theme into another language, managing many strings systematically, or working with translators. For a site owner who wants to change “Leave a Reply” to “Leave a Comment,” Say What? takes 30 seconds. For a developer translating an entire plugin into Spanish, Loco Translate is the appropriate tool.

Does Say What? work with Gutenberg blocks and Full Site Editing themes?

Say What? works on any string that passes through WordPress gettext filter hooks, regardless of whether it originates from a classic theme, Gutenberg block, or Full Site Editing theme. If a block or FSE theme string is not passing through gettext functions (some FSE themes hardcode text in template files without localization), Say What? cannot override it. The same limitation applies to Loco Translate and all string-based WordPress localization tools.

Can Say What? break after updates?

Yes, that can happen, especially on older sites with many plugins. This usually happens when the plugin, theme, and add-ons are updated out of sequence. In most cases, testing on staging catches the issue before it reaches the live site. From experience, backups and changelog reviews save a lot of cleanup time.

What should I check before installing Say What??

Start by checking whether another plugin already does the same job. In most cases, overlap is what creates avoidable conflicts and performance issues. A common issue is installing a plugin because it looks convenient without checking the stack first. From experience, a short compatibility review avoids most of the pain later.

Need a Say What? Developer?

Find a vetted WordPress developer specializing in Say What?. From setup and configuration to custom Say What? development — get expert help on WPWizzy.
Get a Free Estimate

Ready to hire your WordPress developer?

WPWizzy connects you with vetted freelance WordPress developers from the Codeable network — the top 2% of WordPress experts worldwide, , you can get a free no-obligation project estimate before hiring. Every developer is carefully screened, backed by Codeable’s satisfaction guarantee, and rated by real clients based on completed WordPress projects.

Pick one option and we’ll take you to the right next step.

After submitting your request, up to three WordPress developers may review your project and ask a few questions to better understand the issue.
This step helps us define the scope of work and provide an accurate estimate. Most projects receive a response within 24 hours.
Providing a few key details about your website or the problem will help us respond faster. There is no obligation to proceed with the project.