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 |
|---|---|---|---|---|---|---|---|---|
| #751 | WPZOOM Social Feed Widget & Block | 33 | 310 | 278 | 60k+ | Unsafe printing function | ||
| #752 | MAS Companies For WP Job Manager | 33 | 62 | 308 | 1k+ | Non-prefixed hook name | ||
| #753 | Molongui Post Contributors: Multi-Role Contributor Attribution | 33 | 240 | 162 | 400 | Output is not escaped | ||
| #754 | More Types | 33 | 227 | 198 | 800 | Non-prefixed global variable | ||
| #755 | Nomad World Map | 33 | 424 | 191 | 700 | Text Domain Mismatch | ||
| #756 | PeproDev WooCommerce Receipt Uploader | 33 | 325 | 49 | 1k+ | Non Singular String Literal Domain | ||
| #757 | PublishPress Checklists: Pre-Publishing Approval Checklist – Validate Post Requirements | 33 | 140 | 182 | 3k+ | Missing Translators Comment | ||
| #758 | QNAP NAS Backup | 33 | 374 | 70 | 2k+ | Non Singular String Literal Domain | ||
| #759 | Quick Restaurant Reservations | 33 | 654 | 179 | 500 | Text Domain Mismatch | ||
| #760 | Reviews Plus | 33 | 223 | 378 | 1k+ | Non-prefixed function | ||
| #761 | Schema & Structured Data for WP & AMP | 33 | 63 | 246 | 100k+ | Non-prefixed global variable | ||
| #762 | TaxCloud for WooCommerce | 33 | 23 | 261 | 500 | Non-prefixed function | ||
| #763 | Slider Path for Elementor | 33 | 329 | 100 | 700 | Text Domain Mismatch | ||
| #764 | Social Rocket – Social Sharing Plugin | 33 | 1,016 | 255 | 1k+ | Unsafe printing function | ||
| #765 | Spin Wheel – Interactive spinning wheel that offers coupons | 33 | 680 | 313 | 500 | Unsafe printing function | ||
| #766 | Envato Toolkit | 33 | 219 | 69 | 5k+ | Output is not escaped | ||
| #767 | WP Twitter Auto Publish | 33 | 442 | 171 | 4k+ | Output is not escaped | ||
| #768 | Variation Swatches for WooCommerce | 33 | 469 | 116 | 50k+ | Text Domain Mismatch | ||
| #769 | Multi-Carrier EasyPost Shipping Methods & Address Validation for WooCommerce | 33 | 424 | 69 | 400 | Non Singular String Literal Domain | ||
| #770 | Multi-Carrier Shippo Shipping Rates & Address Validation for WooCommerce | 33 | 411 | 73 | 3k+ | Non Singular String Literal Domain | ||
| #771 | Product Addons for Woocommerce – Product Options with Custom Fields | 33 | 124 | 114 | 30k+ | Output is not escaped | ||
| #772 | Hyyan WooCommerce Polylang Integration | 33 | 141 | 220 | 8k+ | Nonce verification recommended | ||
| #773 | CartBounty – Save and recover abandoned carts for WooCommerce | 33 | 370 | 399 | 10k+ | Output is not escaped | ||
| #774 | Pay. Payment Methods for WooCommerce | 33 | 316 | 104 | 3k+ | Non Singular String Literal Domain | ||
| #775 | PDF Invoices Italian Add-on for WooCommerce | 33 | 325 | 200 | 5k+ | Non Singular String Literal Domain | ||
| #776 | WP Social AutoConnect | 33 | 290 | 144 | 500 | Output is not escaped | ||
| #777 | Connector for Gravity Forms and Google Sheets | 33 | 692 | 155 | 3k+ | Text Domain Mismatch | ||
| #778 | WP-UserOnline | 33 | 111 | 161 | 10k+ | Output is not escaped | ||
| #779 | AyeCode Connect | 34 | 178 | 253 | 10k+ | Nonce verification recommended | ||
| #780 | Checkout Field Editor for WooCommerce – Checkout Manager | 34 | 122 | 65 | 20k+ | Text Domain Mismatch | ||
| #781 | Cornerstone | 34 | 161 | 174 | 30k+ | Nonce verification recommended | ||
| #782 | Datafeedr API | 34 | 307 | 48 | 6k+ | Output is not escaped | ||
| #783 | Estimated Delivery for WooCommerce | 34 | 301 | 70 | 1k+ | Short PHP open tag found | ||
| #784 | Event Calendar Newsletter | 34 | 96 | 167 | 600 | Non-prefixed hook name | ||
| #785 | Featured Video Plus | 34 | 99 | 105 | 10k+ | Non-prefixed global variable | ||
| #786 | Flash Toolkit | 34 | 159 | 242 | 10k+ | Non-prefixed global variable | ||
| #787 | Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping | 34 | 124 | 156 | 100k+ | Nonce verification recommended | ||
| #788 | FluentAuth – The Ultimate Authorization & Security Plugin for WordPress | 34 | 44 | 229 | 10k+ | Nonce verification recommended | ||
| #789 | Forms: 3rd-Party Integration | 34 | 234 | 112 | 5k+ | Output is not escaped | ||
| #790 | Geolocation IP Detection | 34 | 227 | 167 | 20k+ | Output is not escaped | ||
| #791 | Gitium | 34 | 149 | 57 | 400 | Output is not escaped | ||
| #792 | APG Google Video Sitemap Feed | 34 | 96 | 45 | 800 | Output is not escaped | ||
| #793 | HTML Import 2 | 34 | 273 | 26 | 5k+ | Unsafe printing function | ||
| #794 | Kadence WooCommerce Email Designer | 34 | 119 | 230 | 100k+ | Non-prefixed global variable | ||
| #795 | MantraBrain Starter Sites | MantraBrain Theme Demo Importer | 34 | 117 | 61 | 1k+ | Output is not escaped | ||
| #796 | Media Vault | 34 | 115 | 150 | 800 | Output is not escaped | ||
| #797 | Meta Tag Manager | 34 | 142 | 321 | 80k+ | Nonce verification recommended | ||
| #798 | OTP Login & Register Woocommerce | 34 | 148 | 202 | 1k+ | Missing nonce verification | ||
| #799 | Security Safe | 34 | 193 | 164 | 700 | Missing Translators Comment | ||
| #800 | Seriously Simple Stats | 34 | 99 | 126 | 5k+ | Output is not escaped |