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 |
|---|---|---|---|---|---|---|---|---|
| #1001 | Block Editor Bootstrap Blocks | 39 | 173 | 50 | 900 | Text Domain Mismatch | ||
| #1002 | Constant Contact + WooCommerce | 39 | 27 | 91 | 1k+ | Nonce verification recommended | ||
| #1003 | Contact Form 7 – Dynamic Text Extension | 39 | 103 | 28 | 100k+ | Output is not escaped | ||
| #1004 | Culqi | 39 | 571 | 88 | 1k+ | Text Domain Mismatch | ||
| #1005 | Dashboard Cleaner | 39 | 40 | 91 | 500 | Missing nonce verification | ||
| #1006 | Datalogics Ecommerce Delivery – Datalogics | 39 | 13 | 115 | 500 | Nonce verification recommended | ||
| #1007 | Drip for Gravity Forms | 39 | 41 | 21 | 500 | Unsafe printing function | ||
| #1008 | Enhanced Admin Bar with Codex Search | 39 | 64 | 3 | 1k+ | Missing Arg Domain | ||
| #1009 | Events Manager – Zoom Integration | 39 | 141 | 43 | 700 | Output is not escaped | ||
| #1010 | Gravity Slider Fields | 39 | 56 | 36 | 2k+ | Text Domain Mismatch | ||
| #1011 | GS Only PDF Preview | 39 | 46 | 36 | 1k+ | Output is not escaped | ||
| #1012 | If Menu – Visibility control for Menus | 39 | 281 | 63 | 50k+ | Output is not escaped | ||
| #1013 | Meks Easy Photo Feed Widget | 39 | 77 | 27 | 10k+ | Output is not escaped | ||
| #1014 | Multilingual Contact Form 7 with Polylang | 39 | 50 | 30 | 9k+ | Text Domain Mismatch | ||
| #1015 | Paystack Add-On for Gravity Forms | 39 | 96 | 31 | 400 | Text Domain Mismatch | ||
| #1016 | Redirect 404 Error Page to Homepage or Custom Page with Logs | 39 | 27 | 53 | 10k+ | Nonce verification recommended | ||
| #1017 | Reorder by Term | 39 | 20 | 84 | 1k+ | Request data is not unslashed | ||
| #1018 | OpenHook | 39 | 172 | 22 | 1k+ | Unsafe printing function | ||
| #1019 | TinyMCE Custom Styles | 39 | 297 | 76 | 7k+ | Non Singular String Literal Domain | ||
| #1020 | Ultimate Lightbox | 39 | 110 | 59 | 1k+ | Unsafe printing function | ||
| #1021 | Video Blogster Lite | 39 | 29 | 80 | 700 | Missing nonce verification | ||
| #1022 | Combo Offers WooCommerce | 39 | 38 | 89 | 2k+ | Missing nonce verification | ||
| #1023 | Claudio Sanches – PagSeguro for WooCommerce | 39 | 87 | 37 | 10k+ | Unsafe printing function | ||
| #1024 | WP Realtime Sitemap | 39 | 46 | 41 | 10k+ | Output is not escaped | ||
| #1025 | WPS Limit Login | 39 | 152 | 76 | 100k+ | Output is not escaped | ||
| #1026 | Add Pinterest conversion tags for Pinterest Ads + Site verification | 40 | 88 | 26 | 1k+ | Output is not escaped | ||
| #1027 | Admin Search | 40 | 31 | 47 | 1k+ | Output is not escaped | ||
| #1028 | Advanced Custom Fields: Font Awesome Field | 40 | 332 | 70 | 90k+ | Text Domain Mismatch | ||
| #1029 | AJAX Thumbnail Rebuild | 40 | 38 | 14 | 30k+ | Unsafe printing function | ||
| #1030 | AutoConvert Greeklish Permalinks | 40 | 116 | 13 | 30k+ | Text Domain Mismatch | ||
| #1031 | Bulk Featured Image | 40 | 69 | 117 | 800 | Output is not escaped | ||
| #1032 | Category Featured Images Extended | 40 | 177 | 40 | 400 | Text Domain Mismatch | ||
| #1033 | CleverReach Integration for Contact Form 7 | 40 | 103 | 43 | 700 | Text Domain Mismatch | ||
| #1034 | Contact Form 7 GetResponse Extension | 40 | 90 | 18 | 1k+ | Text Domain Mismatch | ||
| #1035 | Delete Me | 40 | 116 | 17 | 7k+ | Output is not escaped | ||
| #1036 | Analytics Germanized for Google Analytics (GDPR / DSGVO) | 40 | 49 | 14 | 7k+ | Output is not escaped | ||
| #1037 | Get Cash | 40 | 84 | 49 | 500 | Non Singular String Literal Domain | ||
| #1038 | If Widget – Visibility control for Widgets | 40 | 99 | 25 | 1k+ | Unsafe printing function | ||
| #1039 | iNext Woo Pincode Checker | 40 | 36 | 82 | 700 | Missing nonce verification | ||
| #1040 | Quotes Addon for GetPaid | 40 | 191 | 21 | 600 | Text Domain Mismatch | ||
| #1041 | Limit Login Attempts | 40 | 81 | 38 | 300k+ | Output is not escaped | ||
| #1042 | Listdomer Core | 40 | 45 | 92 | 400 | Non-prefixed global variable | ||
| #1043 | LLM Bot Tracker – AI Crawler Detection & Analytics | 40 | 18 | 90 | 800 | Database parameter is not escaped | ||
| #1044 | Logbook | 40 | 33 | 59 | 1k+ | Nonce verification recommended | ||
| #1045 | Manual Image Crop | 40 | 178 | 61 | 8k+ | Output is not escaped | ||
| #1046 | One Click SSL | 40 | 136 | 62 | 10k+ | Unsafe printing function | ||
| #1047 | Give – Paystack Gateway | 40 | 96 | 10 | 1k+ | Text Domain Mismatch | ||
| #1048 | Paystack MemberPress | 40 | 71 | 76 | 400 | Output is not escaped | ||
| #1049 | Random Post Plugin – Redirect URL to Post | 40 | 28 | 74 | 3k+ | Nonce verification recommended | ||
| #1050 | Manual Related Posts | 40 | 51 | 32 | 1k+ | Output is not escaped |