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 | Updated | Top Issue |
|---|---|---|---|---|---|---|---|
| #151 | Kadence Central – Site Management, Backups, Security, and Reporting | 26 | 462 | 213 | 30k+ | Text Domain Mismatch | |
| #152 | Media File Renamer: Rename for better SEO (AI-Powered) | 26 | 148 | 170 | 40k+ | Direct Query | |
| #153 | Open User Map – Interactive Leaflet Maps | 26 | 893 | 986 | 10k+ | Non-prefixed global variable | |
| #154 | Paytium: Mollie payment forms & donations | 26 | 506 | 551 | 3k+ | Unsafe printing function | |
| #155 | XL NMI Gateway for WooCommerce | 26 | 695 | 436 | 1k+ | Text Domain Mismatch | |
| #156 | Church Content – Sermons, Events and More | 27 | 134 | 410 | 4k+ | Non-prefixed function | |
| #157 | Gallery – Photo Albums Plugin | 27 | 647 | 252 | 2k+ | Output is not escaped | |
| #158 | picu – Online Photo Proofing Gallery | 27 | 613 | 322 | 2k+ | Output is not escaped | |
| #159 | Pie Register – User Registration, Profiles & Content Restriction | 27 | 1,779 | 1k+ | Non-prefixed global variable | ||
| #160 | PublishPress Permissions: Control User Access for Posts, Pages, Categories, Tags | 27 | 424 | 323 | 10k+ | Missing Translators Comment | |
| #161 | Presto Player | 27 | 131 | 124 | 100k+ | Missing Arg Domain | |
| #162 | Video Gallery for WooCommerce – Add Product Video & Featured Video | 27 | 116 | 476 | 3k+ | Non-prefixed global variable | |
| #163 | Watu Quiz | 27 | 1,089 | 1,014 | 3k+ | Output is not escaped | |
| #164 | Email Marketing Plugin – WP Email Capture | 27 | 383 | 262 | 1k+ | Output is not escaped | |
| #165 | WP Events Manager | 27 | 294 | 415 | 30k+ | Output is not escaped | |
| #166 | Divi Torque Lite – Divi Modules for the Divi Builder & Theme | 28 | 132 | 256 | 50k+ | Non-prefixed global variable | |
| #167 | HootKit | 28 | 429 | 1,295 | 8k+ | Non-prefixed global variable | |
| #168 | Media Hygiene: Remove or Delete Unused Images and More! | 28 | 654 | 309 | 5k+ | Non Singular String Literal Domain | |
| #169 | Brilliant Web-to-Lead for Salesforce | 28 | 247 | 244 | 2k+ | Text Domain Mismatch | |
| #170 | Temporary Login Without Password | 28 | 128 | 131 | 100k+ | wp function not compatible with requires wp | |
| #171 | Countdown, Coming Soon, Maintenance – Countdown & Clock | 29 | 1,735 | 143 | 10k+ | Non Singular String Literal Domain | |
| #172 | Database Cleaner | 29 | 135 | 297 | 10k+ | Direct Query | |
| #173 | Exclusive Addons for Elementor | 29 | 3,630 | 266 | 50k+ | Text Domain Mismatch | |
| #174 | Private groups | 30 | 583 | 316 | 1k+ | Unsafe printing function | |
| #175 | Meow Gallery | 30 | 111 | 182 | 10k+ | Direct Query | |
| #176 | Move Addons for Elementor | 30 | 3,919 | 91 | 3k+ | Text Domain Mismatch | |
| #177 | Responsive Addons for Elementor – Free Elementor Addons, Kits and Elementor Templates | 30 | 60 | 387 | 3k+ | Non-prefixed global variable | |
| #178 | User Access Manager | 30 | 393 | 171 | 10k+ | Output is not escaped | |
| #179 | WP 2FA – Two-factor authentication for WordPress | 30 | 269 | 380 | 100k+ | Exception output is not escaped | |
| #180 | Image Hotspot – Map Image Annotation | 31 | 95 | 283 | 3k+ | Non-prefixed global variable | |
| #181 | LWS Tools | 31 | 104 | 134 | 10k+ | Request data is not unslashed | |
| #182 | Mailgun for WordPress | 31 | 144 | 78 | 80k+ | Unsafe printing function | |
| #183 | reCAPTCHA in WP comments form | 31 | 264 | 60 | 8k+ | Output is not escaped | |
| #184 | Staatic – Static Site Generator for WordPress | 31 | 420 | 195 | 2k+ | SQL query is not prepared | |
| #185 | Tutor LMS Elementor Addons | 31 | 227 | 457 | 30k+ | Non-prefixed global variable | |
| #186 | annasta Filters for WooCommerce | 32 | 1,073 | 441 | 2k+ | Text Domain Mismatch | |
| #187 | Child Theme Configurator | 32 | 442 | 267 | 300k+ | Unsafe printing function | |
| #188 | Fable Extra | 32 | 79 | 282 | 4k+ | Non-prefixed global variable | |
| #189 | GSheetConnector For WPForms – WPForms Google Sheets Integration (Real-Time Sync) | 32 | 120 | 145 | 8k+ | Non-prefixed global variable | |
| #190 | WP Mobile Menu – The Mobile-Friendly Responsive Menu | 32 | 990 | 195 | 80k+ | Output is not escaped | |
| #191 | WP fail2ban – Advanced Security | 32 | 75 | 153 | 60k+ | Dynamic hook name | |
| #192 | Auto Listings – Car Listings & Car Dealership Plugin for WordPress | 33 | 80 | 321 | 2k+ | Non-prefixed global variable | |
| #193 | Nexi XPay | 33 | 496 | 277 | 6k+ | Text Domain Mismatch | |
| #194 | ChatHelp – Click to Chat Button, WooCommerce Chat to Order & Floating Chat Form | 33 | 57 | 204 | 1k+ | Non-prefixed global variable | |
| #195 | Gallery Custom Links | 33 | 64 | 62 | 30k+ | Non Singular String Literal Domain | |
| #196 | WPZOOM Social Feed Widget & Block | 33 | 310 | 278 | 60k+ | Unsafe printing function | |
| #197 | MailUp for WordPress – Email and Newsletter Subscription Form | 33 | 251 | 100 | 2k+ | Text Domain Mismatch | |
| #198 | Members – Membership & User Role Editor Plugin | 33 | 234 | 244 | 300k+ | Output is not escaped | |
| #199 | Mollie Payments for WooCommerce | 33 | 70 | 123 | 100k+ | Dynamic hook name | |
| #200 | Mercado Pago payments for WooCommerce | 33 | 618 | 63 | 100k+ | Short PHP open tag found |