WordPress.WP.I18n.MissingSingularPlaceholder
Missing Singular Placeholder
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 |
|---|---|---|---|---|---|---|---|
| #1 | Download Monitor | 19 | 425 | 1,364 | 80k+ | 2026-06-16 | Non Prefixed Hookname Found |
| #2 | Membership Plugin – Kadence Memberships | 19 | 5,082 | 2,982 | 9k+ | 2026-05-26 | Text Domain Mismatch |
| #3 | GiveWP – Donation Plugin and Fundraising Platform | 20 | 3,435 | 3,580 | 100k+ | 2026-06-15 | Output Not Escaped |
| #4 | bbPress | 21 | 929 | 3,672 | 100k+ | 2025-07-02 | Non Prefixed Function Found |
| #5 | MotoPress Hotel Booking | 21 | 3,061 | 1,037 | 10k+ | 2026-06-15 | Text Domain Mismatch |
| #6 | Points Management System For Gamification, Ranks, Badges, and Loyalty Rewards Program – myCred | 21 | 1,469 | 3,333 | 10k+ | 2026-06-18 | Non Prefixed Variable Found |
| #7 | Frontend Admin by DynamiApps | 22 | 5,922 | 3,208 | 10k+ | 2026-06-17 | Text Domain Mismatch |
| #8 | GeoDirectory – WP Business Directory Plugin and Classified Listings Directory | 22 | 4,462 | 3,972 | 10k+ | 2026-06-10 | Output Not Escaped |
| #9 | NextScripts: Social Networks Auto-Poster | 22 | 2,408 | 1,133 | 30k+ | 2026-02-26 | Output Not Escaped |
| #10 | Advanced Custom Fields: Extended | 23 | 1,885 | 329 | 100k+ | 2026-05-28 | Text Domain Mismatch |
| #11 | Advanced Custom Fields (ACF®) | 23 | 2,456 | 1,218 | 2m+ | 2026-06-10 | Text Domain Mismatch |
| #12 | Interactive Content – H5P | 23 | 565 | 380 | 40k+ | 2026-05-22 | Non Singular String Literal Domain |
| #13 | Master Slider – Responsive Touch Slider | 23 | 800 | 408 | 60k+ | 2026-05-09 | Output Not Escaped |
| #14 | Post to Google My Business (Google Business Profile) | 23 | 845 | 1,452 | 10k+ | 2026-05-25 | Non Prefixed Variable Found |
| #15 | The Events Calendar | 23 | 3,512 | 3,848 | 700k+ | 2026-06-19 | Text Domain Mismatch |
| #16 | WP Compress – Instant Performance & Speed Optimization | 23 | 3,053 | 2,384 | 10k+ | 2026-04-15 | Non Singular String Literal Domain |
| #17 | Shield Security – Smart Bot Blocking, Brute-Force Login Protection & File Scanning | 23 | 1,118 | 202 | 40k+ | 2026-06-09 | Missing Translators Comment |
| #18 | Affiliates Manager | 24 | 1,268 | 653 | 9k+ | 2026-06-09 | Unsafe Printing Function |
| #19 | Event Tickets and Registration | 24 | 3,415 | 4,210 | 90k+ | 2026-06-19 | Non Prefixed Variable Found |
| #20 | Simple Calendar – Google Calendar Plugin | 24 | 2,035 | 591 | 50k+ | 2026-06-18 | missing direct file access protection |
| #21 | Load More Products for WooCommerce | 24 | 742 | 456 | 20k+ | 2026-05-26 | Text Domain Mismatch |
| #22 | SEO Ultimate | 24 | 437 | 269 | 20k+ | 2016-11-03 | Output Not Escaped |
| #23 | WP RSS Aggregator – RSS Import, Feed to Post, Autoblogging, AI Content | 24 | 1,775 | 393 | 40k+ | 2026-06-17 | Text Domain Mismatch |
| #24 | AdRotate Banner Manager | 25 | 1,365 | 846 | 20k+ | 2026-06-18 | Unsafe Printing Function |
| #25 | Photo Gallery by FooGallery : Responsive Image Gallery, Masonry Gallery & Carousel | 25 | 876 | 1,798 | 100k+ | 2026-05-21 | Non Prefixed Variable Found |
| #26 | FunnelKit – Funnel Builder for WooCommerce Checkout | 25 | 3,278 | 2,574 | 30k+ | 2026-05-18 | Text Domain Mismatch |
| #27 | BackUpWordPress | 27 | 245 | 271 | 90k+ | 2024-04-24 | Non Prefixed Variable Found |
| #28 | Compliance by Hu-manity.co | 31 | 154 | 336 | 900k+ | 2026-06-03 | Missing |
| #29 | Unbounce Landing Pages | 32 | 169 | 86 | 10k+ | 2025-06-02 | Output Not Escaped |
| #30 | CartBounty – Save and recover abandoned carts for WooCommerce | 33 | 370 | 399 | 10k+ | 2026-05-25 | Output Not Escaped |
| #31 | One User Avatar | User Profile Picture | 34 | 68 | 190 | 100k+ | 2026-06-01 | Non Prefixed Variable Found |
| #32 | WP Mail Logging | 34 | 76 | 258 | 300k+ | 2026-02-19 | Recommended |
| #33 | Image Watermark | 36 | 76 | 179 | 40k+ | 2026-06-15 | Missing |
| #34 | Mobile Contact Bar | 41 | 94 | 36 | 10k+ | 2026-06-15 | Unsafe Printing Function |
| #35 | Simple Revisions Delete | 43 | 16 | 26 | 10k+ | 2025-11-30 | Output Not Escaped |
| #36 | WP Offload SES Lite | 96 | 541 | 5 | 10k+ | 2026-03-25 | Text Domain Mismatch |