WordPress.WP.I18n.UnorderedPlaceholdersText
Unordered Placeholders Text
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 |
|---|---|---|---|---|---|---|---|
| #501 | Waitlist Woocommerce ( Back in stock notifier ) | 30 | 272 | 311 | 4k+ | Output Not Escaped | |
| #502 | Checkout with Cash App on WooCommerce | 30 | 122 | 308 | 2k+ | Non Prefixed Variable Found | |
| #503 | FOX – Currency Switcher Professional for WooCommerce | 30 | 211 | 1,022 | 50k+ | Non Prefixed Variable Found | |
| #504 | WPOrLogin – Custom Login, Social Login, Limit Attempts, Hide Login & reCAPTCHA | 30 | 484 | 222 | 2k+ | Unsafe Printing Function | |
| #505 | WPS Cleaner | 30 | 430 | 491 | 20k+ | Output Not Escaped | |
| #506 | WPZOOM Addons for Beaver Builder | 30 | 2,216 | 152 | 4k+ | Text Domain Mismatch | |
| #507 | YASR – Yet Another Star Rating Plugin for WordPress | 30 | 252 | 378 | 10k+ | Output Not Escaped | |
| #508 | a3 Lazy Load | 31 | 83 | 240 | 90k+ | Dynamic Hookname Found | |
| #509 | Advanced Woo Search – Product Search for WooCommerce | 31 | 228 | 377 | 70k+ | Recommended | |
| #510 | cformsII | 31 | 777 | 536 | 4k+ | Unsafe Printing Function | |
| #511 | Newsletter Sign-Up for CleverReach | 31 | 174 | 72 | 2k+ | Output Not Escaped | |
| #512 | Compliance by Hu-manity.co | 31 | 154 | 336 | 900k+ | Missing | |
| #513 | Download Plugin | 31 | 78 | 102 | 50k+ | Missing Unslash | |
| #514 | Up2pay e-Transactions WooCommerce Payment Gateway | 31 | 459 | 175 | 4k+ | Text Domain Mismatch | |
| #515 | EnvoThemes Demo Import | 31 | 221 | 140 | 3k+ | Output Not Escaped | |
| #516 | Login rebuilder | 31 | 406 | 226 | 20k+ | Non Singular String Literal Domain | |
| #517 | Activity Logs, User Activity Tracking, Multisite Activity Log from Logtivity | 31 | 122 | 131 | 2k+ | Output Not Escaped | |
| #518 | Mailgun for WordPress | 31 | 144 | 78 | 80k+ | Unsafe Printing Function | |
| #519 | Active Products Tables for WooCommerce. Use constructor to create tables | 31 | 364 | 424 | 1k+ | Output Not Escaped | |
| #520 | Qode Essential Addons | 31 | 55 | 295 | 10k+ | Non Prefixed Variable Found | |
| #521 | SmartBill Facturare si Gestiune | 31 | 421 | 164 | 5k+ | Text Domain Mismatch | |
| #522 | Stackable – Page Builder Gutenberg Blocks | 31 | 477 | 90 | 100k+ | Non Singular String Literal Domain | |
| #523 | Big File Uploads – Increase Maximum File Upload Size | 31 | 101 | 92 | 100k+ | Output Not Escaped | |
| #524 | Project Manager – AI Powered Project Management, Task Management, Kanban Board & Time Tracker | 31 | 63 | 933 | 6k+ | Interpolated Not Prepared | |
| #525 | Widget Options – Advanced Conditional Visibility for Gutenberg Blocks & Classic Widgets | 31 | 837 | 295 | 100k+ | Unsafe Printing Function | |
| #526 | Discussion Board – WordPress Forum Plugin | 31 | 105 | 153 | 2k+ | Missing Unslash | |
| #527 | WP Simple Booking Calendar | 31 | 337 | 381 | 20k+ | Output Not Escaped | |
| #528 | WP ULike – Like & Dislike Buttons for Engagement and Feedback | 31 | 268 | 345 | 60k+ | Output Not Escaped | |
| #529 | YML for Yandex Market | 31 | 37 | 293 | 10k+ | Non Prefixed Variable Found | |
| #530 | Advanced Access Manager – Access Governance for WordPress | 32 | 849 | 62 | 100k+ | Output Not Escaped | |
| #531 | Aqua Page Builder | 32 | 320 | 114 | 3k+ | Output Not Escaped | |
| #532 | Author Avatars List/Block | 32 | 85 | 135 | 4k+ | Non Prefixed Hookname Found | |
| #533 | Speed Kit | 32 | 296 | 73 | 2k+ | Output Not Escaped | |
| #534 | BP Classic | 32 | 664 | 216 | 6k+ | Unsafe Printing Function | |
| #535 | BuddyPress for LearnDash | 32 | 190 | 284 | 1k+ | Output Not Escaped | |
| #536 | Child Theme Configurator | 32 | 442 | 267 | 300k+ | Unsafe Printing Function | |
| #537 | Currency Switcher for WooCommerce | 32 | 357 | 263 | 10k+ | Text Domain Mismatch | |
| #538 | DHL eCommerce (Benelux) for WooCommerce | 32 | 222 | 330 | 2k+ | Recommended | |
| #539 | Download Attachments | 32 | 69 | 188 | 8k+ | Non Prefixed Hookname Found | |
| #540 | Gwolle Guestbook | 32 | 268 | 528 | 20k+ | Output Not Escaped | |
| #541 | OMGF | GDPR/DSGVO Compliant, Faster Google Fonts. Easy. | 32 | 211 | 64 | 300k+ | Output Not Escaped | |
| #542 | Image Slider Slideshow | 32 | 409 | 171 | 2k+ | Text Domain Mismatch | |
| #543 | MapPress Maps for WordPress | 32 | 694 | 133 | 30k+ | Missing Arg Domain | |
| #544 | WP Mobile Menu – The Mobile-Friendly Responsive Menu | 32 | 990 | 195 | 80k+ | Output Not Escaped | |
| #545 | گرویتی فرم فارسی | 32 | 190 | 174 | 20k+ | Text Domain Mismatch | |
| #546 | Volunteer Sign Up Sheets | 32 | 967 | 401 | 1k+ | Output Not Escaped | |
| #547 | Payment Plugins for PayPal WooCommerce | 32 | 214 | 125 | 90k+ | Missing Translators Comment | |
| #548 | Quick Featured Images | 32 | 436 | 323 | 50k+ | Non Prefixed Variable Found | |
| #549 | Restrict Usernames Emails Characters | 32 | 327 | 367 | 1k+ | Output Not Escaped | |
| #550 | RSS for Yandex Turbo | 32 | 687 | 307 | 20k+ | Unsafe Printing Function |