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 |
|---|---|---|---|---|---|---|---|---|
| #201 | Code Engine – PHP Snippets, AI Functions & Automation for WordPress | 29 | 122 | 101 | 700 | Non Singular String Literal Domain | ||
| #202 | Countdown, Coming Soon, Maintenance – Countdown & Clock | 29 | 1,735 | 143 | 10k+ | Non Singular String Literal Domain | ||
| #203 | Database Cleaner | 29 | 135 | 297 | 10k+ | Direct Query | ||
| #204 | Music Player for WooCommerce | 29 | 106 | 155 | 1k+ | Non-prefixed global variable | ||
| #205 | Aitasi Coming Soon | 30 | 516 | 186 | 1k+ | Output is not escaped | ||
| #206 | Private groups | 30 | 583 | 316 | 1k+ | Unsafe printing function | ||
| #207 | EasyParcel Shipping– All-in-one Shipping Solution, Real-Time Shipping Rates | 30 | 31 | 610 | 500 | Non-prefixed global variable | ||
| #208 | Exclusive Addons for Elementor | 30 | 3,629 | 266 | 50k+ | Text Domain Mismatch | ||
| #209 | Meow Gallery | 30 | 111 | 182 | 10k+ | Direct Query | ||
| #210 | Move Addons for Elementor | 30 | 3,919 | 91 | 3k+ | Text Domain Mismatch | ||
| #211 | Responsive Addons for Elementor – Free Elementor Addons, Kits and Elementor Templates | 30 | 60 | 387 | 3k+ | Non-prefixed global variable | ||
| #212 | Star Addons for Elementor | 30 | 236 | 255 | 1k+ | Non-prefixed global variable | ||
| #213 | User Access Manager | 30 | 393 | 171 | 10k+ | Output is not escaped | ||
| #214 | User Avatar – Reloaded | 30 | 352 | 171 | 900 | Text Domain Mismatch | ||
| #215 | WP 2FA – Two-factor authentication for WordPress | 30 | 269 | 380 | 100k+ | Exception output is not escaped | ||
| #216 | WP Helper Premium | 30 | 635 | 131 | 1k+ | Text Domain Mismatch | ||
| #217 | WP Mail SMTP by WPForms – The Most Popular SMTP and Email Log Plugin | 30 | 32 | 346 | 4m+ | Non-prefixed hook name | ||
| #218 | Image Hotspot – Map Image Annotation | 31 | 95 | 283 | 3k+ | Non-prefixed global variable | ||
| #219 | Keywords to Links Converter | 31 | 288 | 144 | 700 | Text Domain Mismatch | ||
| #220 | LWS Tools | 31 | 104 | 134 | 10k+ | Request data is not unslashed | ||
| #221 | Mailgun for WordPress | 31 | 144 | 78 | 80k+ | Unsafe printing function | ||
| #222 | reCAPTCHA in WP comments form | 31 | 264 | 60 | 8k+ | Output is not escaped | ||
| #223 | Staatic – Static Site Generator for WordPress | 31 | 420 | 195 | 2k+ | SQL query is not prepared | ||
| #224 | Tutor LMS Elementor Addons | 31 | 227 | 457 | 30k+ | Non-prefixed global variable | ||
| #225 | annasta Filters for WooCommerce | 32 | 1,073 | 441 | 2k+ | Text Domain Mismatch | ||
| #226 | Better Chat Support for Messenger | 32 | 72 | 103 | 1k+ | Interpolated SQL is not prepared | ||
| #227 | Child Theme Configurator | 32 | 442 | 267 | 300k+ | Unsafe printing function | ||
| #228 | Contact Form Block | 32 | 64 | 77 | 500 | Non Singular String Literal Domain | ||
| #229 | Fable Extra | 32 | 79 | 282 | 4k+ | Non-prefixed global variable | ||
| #230 | GSheetConnector For Ninja Forms | 32 | 165 | 93 | 1k+ | Unsafe printing function | ||
| #231 | GSheetConnector For WPForms – WPForms Google Sheets Integration (Real-Time Sync) | 32 | 120 | 145 | 8k+ | Non-prefixed global variable | ||
| #232 | WP Mobile Menu – The Mobile-Friendly Responsive Menu | 32 | 990 | 195 | 80k+ | Output is not escaped | ||
| #233 | Spoki – Chat Buttons and WooCommerce Notifications | 32 | 1,074 | 260 | 700 | Unsafe printing function | ||
| #234 | WP fail2ban – Advanced Security | 32 | 75 | 153 | 60k+ | Dynamic hook name | ||
| #235 | Auto Listings – Car Listings & Car Dealership Plugin for WordPress | 33 | 80 | 321 | 2k+ | Non-prefixed global variable | ||
| #236 | Nexi XPay | 33 | 496 | 277 | 6k+ | Text Domain Mismatch | ||
| #237 | ChatHelp – Click to Chat Button, WooCommerce Chat to Order & Floating Chat Form | 33 | 57 | 204 | 1k+ | Non-prefixed global variable | ||
| #238 | Gallery Custom Links | 33 | 64 | 62 | 30k+ | Non Singular String Literal Domain | ||
| #239 | Inactive User Deleter | 33 | 453 | 170 | 800 | Output is not escaped | ||
| #240 | WPZOOM Social Feed Widget & Block | 33 | 310 | 278 | 60k+ | Unsafe printing function | ||
| #241 | MailUp for WordPress – Email and Newsletter Subscription Form | 33 | 251 | 100 | 2k+ | Text Domain Mismatch | ||
| #242 | Members – Membership & User Role Editor Plugin | 33 | 234 | 244 | 300k+ | Output is not escaped | ||
| #243 | Mollie Payments for WooCommerce | 33 | 70 | 123 | 100k+ | Dynamic hook name | ||
| #244 | Newebpay Payment | 33 | 146 | 115 | 600 | Text Domain Mismatch | ||
| #245 | Mercado Pago payments for WooCommerce | 33 | 618 | 63 | 100k+ | Short PHP open tag found | ||
| #246 | WOW Slider | 33 | 176 | 101 | 3k+ | Output is not escaped | ||
| #247 | AGCA – Custom Dashboard & Login Page | 34 | 350 | 44 | 20k+ | Unsafe printing function | ||
| #248 | AI WP Writer – SEO content generator, chatGPT, Gemini | 34 | 581 | 509 | 3k+ | Text Domain Mismatch | ||
| #249 | Document Library Lite | 34 | 149 | 85 | 4k+ | Text Domain Mismatch | ||
| #250 | ECS – Ele Custom Skin for Elementor | 34 | 99 | 205 | 100k+ | Text Domain Mismatch |