WordPress.WP.I18n.NoHtmlWrappedStrings
No Html Wrapped Strings
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 | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #301 | Meow Mailer – Free SMTP, Everything Included | 36 | 73 | 44 | 500 | Non Singular String Literal Domain | ||
| #302 | WP Sticky Sidebar – Floating Sidebar On Scroll for Any Theme | 36 | 93 | 84 | 10k+ | Non-prefixed global variable | ||
| #303 | Recent Posts | 36 | 106 | 30 | 500 | Text Domain Mismatch | ||
| #304 | Optimize Database after Deleting Revisions | 36 | 644 | 127 | 60k+ | Output is not escaped | ||
| #305 | Shadowbox JS | 36 | 246 | 14 | 1k+ | Unsafe printing function | ||
| #306 | Snippet Shortcodes | 36 | 393 | 150 | 4k+ | Non Singular String Literal Domain | ||
| #307 | Subscribe to Comments | 36 | 129 | 163 | 10k+ | Output is not escaped | ||
| #308 | Wired Impact Volunteer Management | 36 | 255 | 175 | 1k+ | Output is not escaped | ||
| #309 | Disable Payment Methods based on cart conditions for WooCommerce | 36 | 158 | 57 | 1k+ | Non Singular String Literal Domain | ||
| #310 | WP Mail | 36 | 202 | 201 | 500 | Output is not escaped | ||
| #311 | WP Super Edit | 36 | 35 | 185 | 2k+ | Nonce verification recommended | ||
| #312 | WP fail2ban Blocklist | 36 | 61 | 63 | 3k+ | SQL query is not prepared | ||
| #313 | Antom Payments | 37 | 62 | 73 | 800 | badly named files | ||
| #314 | Better Click To Share – Shareable Quote Boxes for X (Twitter) | 37 | 170 | 59 | 6k+ | Unsafe printing function | ||
| #315 | BuddyPress Members Only | 37 | 184 | 80 | 1k+ | Text Domain Mismatch | ||
| #316 | EasyMe Connect | 37 | 130 | 45 | 500 | Text Domain Mismatch | ||
| #317 | WP eBay Product Feeds | 37 | 136 | 31 | 700 | Output is not escaped | ||
| #318 | Facturare WooCommerce | 37 | 158 | 106 | 3k+ | Text Domain Mismatch | ||
| #319 | XML Sitemap Generator for Google | 37 | 43 | 79 | 1m+ | Input is not validated | ||
| #320 | GS Portfolio for Envato | 37 | 155 | 75 | 4k+ | Text Domain Mismatch | ||
| #321 | PublishPress Statuses – Custom Post Status and Workflow | 37 | 231 | 78 | 1k+ | Missing Arg Domain | ||
| #322 | Views for WPForms – Display & Edit WPForms Entries on your site frontend | 37 | 80 | 64 | 1k+ | Output is not escaped | ||
| #323 | Variation Swatches for WooCommerce | 37 | 92 | 102 | 10k+ | Output is not escaped | ||
| #324 | WP Page Templates | 38 | 92 | 28 | 400 | Non Singular String Literal Domain | ||
| #325 | Elemailer Lite – Elementor email template & campaign builder | 38 | 44 | 50 | 5k+ | Output is not escaped | ||
| #326 | WP Team – WordPress Team Member Plugin | 38 | 537 | 36 | 500 | Text Domain Mismatch | ||
| #327 | Lightning Advanced Unit | 38 | 189 | 27 | 3k+ | Output is not escaped | ||
| #328 | LWS Cleaner | 38 | 81 | 129 | 20k+ | Direct Query | ||
| #329 | Magical Posts Display – Elementor Advanced Posts widgets | 38 | 115 | 46 | 3k+ | Output is not escaped | ||
| #330 | One Click Demo Import | 38 | 22 | 84 | 1m+ | Non-prefixed global variable | ||
| #331 | Standout CSS3 Buttons | 38 | 183 | 15 | 500 | Output is not escaped | ||
| #332 | Super Simple Slider | 38 | 55 | 55 | 1k+ | Non-prefixed global variable | ||
| #333 | Variation Swatches for WooCommerce | 38 | 45 | 65 | 2k+ | Output is not escaped | ||
| #334 | Genesis Dambuster | 39 | 94 | 67 | 3k+ | Output is not escaped | ||
| #335 | Mega Addons For WPBakery Page Builder | 39 | 1,320 | 154 | 20k+ | Text Domain Mismatch | ||
| #336 | Menubar | 39 | 171 | 46 | 1k+ | Output is not escaped | ||
| #337 | Open Graph Pro | 39 | 52 | 13 | 1k+ | Output is not escaped | ||
| #338 | Quantcast Choice | 39 | 227 | 11 | 3k+ | Text Domain Mismatch | ||
| #339 | Scripts n Styles | 39 | 150 | 92 | 30k+ | Output is not escaped | ||
| #340 | SEO Friendly Images | 39 | 292 | 20 | 20k+ | Output is not escaped | ||
| #341 | Simple Staff List | 39 | 90 | 236 | 3k+ | Non-prefixed global variable | ||
| #342 | Ninja Forms Views – Display & Edit Ninja Forms Submissions on your site frontend | 39 | 83 | 49 | 1k+ | Output is not escaped | ||
| #343 | Chatbox Manager | 39 | 885 | 78 | 400 | Output is not escaped | ||
| #344 | Combo Offers WooCommerce | 39 | 38 | 89 | 2k+ | Missing nonce verification | ||
| #345 | WP Performance Score Booster – Optimize Speed, Enable Cache & Page Preload | 39 | 59 | 27 | 10k+ | Unsafe printing function | ||
| #346 | Yandex Metrica | 39 | 92 | 46 | 20k+ | Output is not escaped | ||
| #347 | You can quote me on that | 39 | 57 | 37 | 400 | Output is not escaped | ||
| #348 | Advanced Admin Search | 40 | 79 | 48 | 500 | Non Singular String Literal Text | ||
| #349 | Duplicate Page | 40 | 39 | 43 | 3m+ | Unsafe printing function | ||
| #350 | Quotes Addon for GetPaid | 40 | 191 | 21 | 600 | Text Domain Mismatch |