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 | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #651 | Enhanced Media Library | 36 | 361 | 117 | 60k+ | Unsafe printing function | ||
| #652 | HTML Forms – Simple WordPress Forms Plugin | 36 | 231 | 166 | 10k+ | Output is not escaped | ||
| #653 | Image Watermark | 36 | 76 | 179 | 40k+ | Missing nonce verification | ||
| #654 | LocalWeb All In One | 36 | 34 | 297 | 5k+ | Non-prefixed global variable | ||
| #655 | WP Sticky Sidebar – Floating Sidebar On Scroll for Any Theme | 36 | 93 | 84 | 10k+ | Non-prefixed global variable | ||
| #656 | PublishPress Statuses – Custom Post Status and Workflow | 36 | 232 | 79 | 1k+ | Missing Arg Domain | ||
| #657 | Rara One Click Demo Import | 36 | 122 | 98 | 20k+ | Missing Translators Comment | ||
| #658 | Better Find and Replace – AI-Powered Suggestions | 36 | 67 | 129 | 40k+ | Missing direct file access protection | ||
| #659 | Advance Side Cart, Ajax Cart & Floating Cart for WooCommerce | 36 | 37 | 121 | 6k+ | Non-prefixed global variable | ||
| #660 | The Events Calendar Shortcode & Block | 36 | 70 | 127 | 10k+ | Non-prefixed hook name | ||
| #661 | Orders Tracking for WooCommerce | 36 | 8 | 330 | 10k+ | Request data is not unslashed | ||
| #662 | SuperFaktura WooCommerce | 36 | 60 | 115 | 2k+ | Nonce verification recommended | ||
| #663 | WP-EMail | 36 | 340 | 95 | 1k+ | Unsafe printing function | ||
| #664 | Payment Button for PayPal | 36 | 155 | 86 | 4k+ | Unsafe printing function | ||
| #665 | WP Hardening (discontinued) | 36 | 230 | 85 | 10k+ | Text Domain Mismatch | ||
| #666 | WP Socializer – Simple & Easy Social Media Share Icons | 36 | 214 | 51 | 10k+ | Output is not escaped | ||
| #667 | Yandex.Metrica | 36 | 76 | 30 | 60k+ | Output is not escaped | ||
| #668 | Custom Product Tabs for WooCommerce | 36 | 87 | 81 | 80k+ | Output is not escaped | ||
| #669 | Add From Server | 37 | 52 | 20 | 60k+ | Output is not escaped | ||
| #670 | AddToAny Share Buttons | 37 | 123 | 164 | 300k+ | Unsafe printing function | ||
| #671 | Advanced Media Offloader | 37 | 59 | 93 | 5k+ | error log error log | ||
| #672 | Britetechs Companion | 37 | 966 | 613 | 2k+ | Text Domain Mismatch | ||
| #673 | CDEKDelivery | 37 | 98 | 75 | 2k+ | Exception output is not escaped | ||
| #674 | CorvusPay WooCommerce Payment Gateway | 37 | 29 | 141 | 1k+ | Missing nonce verification | ||
| #675 | Comment Cleaner — Bulk Delete & Disable Comments | 37 | 204 | 78 | 20k+ | Non Singular String Literal Domain | ||
| #676 | Lightbox with PhotoSwipe | 37 | 179 | 24 | 20k+ | Output is not escaped | ||
| #677 | LiveJournal Importer | 37 | 86 | 67 | 8k+ | Output is not escaped | ||
| #678 | Ninja Van (MY) | 37 | 21 | 258 | 1k+ | Non-prefixed global variable | ||
| #679 | Reusable Content Blocks | 37 | 349 | 14 | 4k+ | Text Domain Mismatch | ||
| #680 | RSS Image Feed | 37 | 147 | 16 | 2k+ | Output is not escaped | ||
| #681 | SendWP | 37 | 47 | 42 | 10k+ | Output is not escaped | ||
| #682 | Spam Destroyer | 37 | 63 | 43 | 6k+ | rand rand | ||
| #683 | Tracking Script Manager | 37 | 82 | 57 | 2k+ | Non Singular String Literal Domain | ||
| #684 | Ultimate Tag Cloud Widget | 37 | 715 | 16 | 4k+ | Output is not escaped | ||
| #685 | UsersWP – Social Login | 37 | 299 | 91 | 2k+ | Text Domain Mismatch | ||
| #686 | Featured Video for WordPress – VideographyWP | 37 | 287 | 93 | 1k+ | Unsafe printing function | ||
| #687 | Innovs WPBakery Visual Composer WHMCS Elements | 37 | 154 | 24 | 2k+ | Text Domain Mismatch | ||
| #688 | SUMIT Payment Gateway for WooCommerce | 37 | 358 | 74 | 1k+ | Text Domain Mismatch | ||
| #689 | Variation Swatches for WooCommerce | 37 | 92 | 103 | 10k+ | Output is not escaped | ||
| #690 | WP WooCommerce Mailchimp | 37 | 62 | 85 | 6k+ | Non-prefixed hook name | ||
| #691 | WP Category Permalink | 37 | 75 | 31 | 2k+ | Output is not escaped | ||
| #692 | WP-Cron Control | 37 | 54 | 22 | 1k+ | Output is not escaped | ||
| #693 | Persistent Login | 37 | 338 | 108 | 6k+ | Unsafe printing function | ||
| #694 | ReCaptcha Integration for WordPress | 37 | 60 | 66 | 9k+ | Output is not escaped | ||
| #695 | Zakeke Interactive Product Designer for WooCommerce | 37 | 186 | 178 | 2k+ | Nonce verification recommended | ||
| #696 | Add Customer for WooCommerce | 38 | 229 | 153 | 1k+ | Text Domain Mismatch | ||
| #697 | Announcement Bar | 38 | 192 | 61 | 3k+ | Non Singular String Literal Domain | ||
| #698 | Activity Log – Monitor & Record User Changes | 38 | 81 | 149 | 200k+ | Nonce verification recommended | ||
| #699 | Ashe Extra | 38 | 109 | 54 | 3k+ | Text Domain Mismatch | ||
| #700 | BuddyPress Follow | 38 | 114 | 67 | 1k+ | Text Domain Mismatch |