textdomain_mismatch
textdomain mismatch
A translation or text-domain pattern does not match WordPress internationalization expectations.
Why It Shows Up
Plugin Check found missing text domains, mismatched domains, missing translator comments, variable-only strings, placeholder issues, or deprecated translation loading patterns.
Why It Matters
Translation issues make the plugin harder to localize and can break strings for non-English WordPress users.
How to Fix
- Use the plugin slug as the text domain unless the plugin intentionally declares a different one.
- Keep translatable strings literal and move variables into placeholders.
- Add translator comments before strings with placeholders or ambiguous context.
References
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Updated | Top Issue |
|---|---|---|---|---|---|---|---|
| #201 | Easy Mega Menu for WordPress – ThemeHunk | 34 | 480 | 256 | 1k+ | Text Domain Mismatch | |
| #202 | Checkout Field Editor (Checkout Page Manager) for WooCommerce | 34 | 706 | 232 | 2k+ | Text Domain Mismatch | |
| #203 | PostNL for WooCommerce | 34 | 587 | 104 | 3k+ | Text Domain Mismatch | |
| #204 | WP Popup Builder – Popup Forms and Marketing Lead Generation | 34 | 357 | 143 | 3k+ | Text Domain Mismatch | |
| #205 | Before After Image Comparison – Visual Comparison for Two Images | 35 | 19 | 16 | 3k+ | Text Domain Mismatch | |
| #206 | CTC Masonry Gallery 🎨 | 35 | 6 | 3 | 1k+ | block api version too low | |
| #207 | Custom Order Status Manager for WooCommerce | 35 | 630 | 67 | 30k+ | Text Domain Mismatch | |
| #208 | Popup for CF7 with Sweet Alert | 35 | 26 | 12 | 2k+ | Text Domain Mismatch | |
| #209 | Conditional Menus | 35 | 92 | 28 | 60k+ | Text Domain Mismatch | |
| #210 | Kit (formerly ConvertKit) for WooCommerce | 35 | 213 | 18 | 4k+ | Text Domain Mismatch | |
| #211 | Cookie Information – Cookie Banner with Consent Mode v2 | 35 | 185 | 28 | 2k+ | Output Not Escaped | |
| #212 | CrowdSec | 35 | 130 | 119 | 2k+ | Output Not Escaped | |
| #213 | Wbcom Designs – Custom Font Uploader | 35 | 340 | 123 | 3k+ | Text Domain Mismatch | |
| #214 | Custom links in Elementor Image Carousel | 35 | 8 | 2 | 5k+ | Text Domain Mismatch | |
| #215 | Disable XML-RPC-API | 35 | 444 | 52 | 100k+ | Text Domain Mismatch | |
| #216 | DynamicTags | 35 | 116 | 16 | 2k+ | Text Domain Mismatch | |
| #217 | Product Bundle Builder for WooCommerce | 35 | 156 | 134 | 6k+ | Text Domain Mismatch | |
| #218 | Elements Hive for Breakdance | 35 | 76 | 25 | 1k+ | Output Not Escaped | |
| #219 | Elfsight Blocks for Elementor — 80+ Widgets | 35 | 444 | 3 | 2k+ | Text Domain Mismatch | |
| #220 | WP Rocket | Simple LoadCSS Preloader | 35 | 7 | 16 | 4k+ | Non Prefixed Variable Found | |
| #221 | Equivalent Mobile Redirect | 35 | 29 | 17 | 2k+ | Text Domain Mismatch | |
| #222 | AI Popup Builder & Popup Maker by OptiMonk | 35 | 81 | 65 | 4k+ | Text Domain Mismatch | |
| #223 | Export Featured Images | 35 | 176 | 67 | 1k+ | Output Not Escaped | |
| #224 | Extendify | 35 | 117 | 168 | 500k+ | Non Prefixed Variable Found | |
| #225 | Friendly Captcha for WordPress | 35 | 192 | 62 | 9k+ | Output Not Escaped | |
| #226 | GeoTargeting Lite – WordPress Geolocation | 35 | 66 | 79 | 1k+ | Output Not Escaped | |
| #227 | Gravitec.net – Web Push Notifications | 35 | 47 | 52 | 1k+ | wp function not compatible with requires wp | |
| #228 | JetStyleManager for Gutenberg | 35 | 20 | 64 | 20k+ | Recommended | |
| #229 | MapSVG – Vector maps, Image maps, Google Maps | 35 | 74 | 47 | 1k+ | missing direct file access protection | |
| #230 | myPOS Checkout | 35 | 151 | 8 | 4k+ | Text Domain Mismatch | |
| #231 | ONet Regenerate Thumbnails | 35 | 190 | 64 | 1k+ | Text Domain Mismatch | |
| #232 | Order Delivery Date for WooCommerce | 35 | 2,060 | 73 | 10k+ | wp function not compatible with requires wp | |
| #233 | Pie Calendar – Events Calendar Made Simple | 35 | 83 | 53 | 1k+ | Text Domain Mismatch | |
| #234 | Really Simple Google Tag Manager (GTM) | 35 | 115 | 15 | 4k+ | Text Domain Mismatch | |
| #235 | Simple Header Footer HTML | 35 | 30 | 5 | 3k+ | Output Not Escaped | |
| #236 | SMNTCS Quantity Increment Buttons for WooCommerce | 35 | 15 | 2 | 2k+ | hidden files | |
| #237 | Team Showcase – Responsive Team Members Grid, Slider & Carousel Plugin | 35 | 1,000 | 410 | 2k+ | Text Domain Mismatch | |
| #238 | Void Elementor Post Grid Addon for Elementor Page builder | 35 | 189 | 93 | 3k+ | Text Domain Mismatch | |
| #239 | Webflow Pages | 35 | 36 | 63 | 2k+ | Non Singular String Literal Domain | |
| #240 | Require Login for WooCommerce | 35 | 10 | 6 | 2k+ | wp function not compatible with requires wp | |
| #241 | WP Content Copy Protection | 35 | 76 | 11 | 10k+ | Text Domain Mismatch | |
| #242 | Auto Publish for Google My Business | 35 | 216 | 192 | 10k+ | Input Not Validated | |
| #243 | WP Login and Logout Redirect | 35 | 16 | 6 | 6k+ | Text Domain Mismatch | |
| #244 | TypeSquare Webfonts for エックスサーバー | 35 | 183 | 98 | 100k+ | Missing Arg Domain | |
| #245 | Blog, Posts and Category Filter for Elementor | 36 | 159 | 55 | 1k+ | Text Domain Mismatch | |
| #246 | Conditional Payments for WooCommerce | 36 | 292 | 184 | 10k+ | Text Domain Mismatch | |
| #247 | Different Menu in Different Pages – Conditional Menu | 36 | 167 | 113 | 4k+ | Text Domain Mismatch | |
| #248 | PiWeb Product Enquiry or product catalog for WooCommerce | 36 | 290 | 145 | 1k+ | Text Domain Mismatch | |
| #249 | Envo's Templates & Widgets for Elementor and WooCommerce | 36 | 1,065 | 54 | 10k+ | Text Domain Mismatch | |
| #250 | Insert Headers and Footers Code – HT Script | 36 | 391 | 34 | 7k+ | Text Domain Mismatch |