WordPress.WP.I18n.TooManyFunctionArgs
Too Many Function Args
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 |
|---|---|---|---|---|---|---|---|---|
| #51 | Gallery Images Ape | 25 | 588 | 341 | 1k+ | Output is not escaped | ||
| #52 | MyFatoorah – WooCommerce | 25 | 191 | 89 | 3k+ | Output is not escaped | ||
| #53 | VikBooking Hotel Booking Engine & PMS | 25 | 13,251 | 8,316 | 8k+ | Output is not escaped | ||
| #54 | weForms – Easy Drag & Drop Contact Form Builder For WordPress | 25 | 916 | 450 | 10k+ | Output is not escaped | ||
| #55 | Pay with Vipps and MobilePay for WooCommerce | 25 | 852 | 516 | 5k+ | Output is not escaped | ||
| #56 | Fluid Checkout for WooCommerce – Lite | 26 | 370 | 842 | 20k+ | Non-prefixed hook name | ||
| #57 | Kadence Central – Site Management, Backups, Security, and Reporting | 26 | 462 | 213 | 30k+ | Text Domain Mismatch | ||
| #58 | Amazon Product in a Post Plugin | 27 | 362 | 416 | 800 | Output is not escaped | ||
| #59 | Church Content – Sermons, Events and More | 27 | 134 | 410 | 4k+ | Non-prefixed function | ||
| #60 | AForms — Form Builder for Price Calculator & Cost Estimation | 28 | 564 | 95 | 3k+ | Text Domain Mismatch | ||
| #61 | Loginfy – Custom Login Page Customizer | 28 | 338 | 398 | 2k+ | Output is not escaped | ||
| #62 | Businessx Extensions | 29 | 337 | 529 | 1k+ | Non-prefixed function | ||
| #63 | Interactive Image Map Plugin – Draw Attention | 29 | 620 | 227 | 20k+ | Output is not escaped | ||
| #64 | ECPay Ecommerce for WooCommerce | 29 | 248 | 370 | 2k+ | Missing nonce verification | ||
| #65 | BuddyPress Builder for Elementor – BuddyBuilder | 29 | 348 | 329 | 1k+ | Text Domain Mismatch | ||
| #66 | ApplyOnline – Application Form Builder and Manager | 30 | 345 | 244 | 2k+ | Output is not escaped | ||
| #67 | Exclusive Addons for Elementor | 30 | 3,638 | 263 | 50k+ | Text Domain Mismatch | ||
| #68 | Stackable – Page Builder Gutenberg Blocks | 30 | 482 | 87 | 100k+ | Non Singular String Literal Domain | ||
| #69 | WPZOOM Addons for Beaver Builder | 30 | 2,168 | 177 | 4k+ | Text Domain Mismatch | ||
| #70 | Classified Listing Toolkits | 31 | 42 | 1,859 | 4k+ | Non-prefixed global variable | ||
| #71 | Domain Mapping System | Create Microsites with Multiple Alias Domains (multisite optional) | 31 | 113 | 233 | 2k+ | Non-prefixed namespace | ||
| #72 | reCAPTCHA in WP comments form | 31 | 264 | 60 | 8k+ | Output is not escaped | ||
| #73 | Quick Restaurant Reservations | 33 | 654 | 179 | 500 | Text Domain Mismatch | ||
| #74 | Spiffy Calendar | 33 | 473 | 243 | 3k+ | Output is not escaped | ||
| #75 | Hyyan WooCommerce Polylang Integration | 33 | 141 | 220 | 8k+ | Nonce verification recommended | ||
| #76 | AFS Analytics | 34 | 194 | 98 | 600 | Text Domain Mismatch | ||
| #77 | Media Vault | 34 | 115 | 150 | 800 | Output is not escaped | ||
| #78 | One User Avatar | User Profile Picture | 34 | 68 | 190 | 100k+ | Non-prefixed global variable | ||
| #79 | Cookies and Content Security Policy | 35 | 261 | 412 | 10k+ | Output is not escaped | ||
| #80 | Email Subscription Popup — Newsletter & GDPR Consent | 35 | 683 | 193 | 1k+ | Output is not escaped | ||
| #81 | Marquee image crawler | 35 | 168 | 136 | 600 | Non-prefixed global variable | ||
| #82 | Popup with fancybox | 35 | 196 | 168 | 900 | Unsafe printing function | ||
| #83 | Anything Popup | 37 | 164 | 185 | 2k+ | Non-prefixed global variable | ||
| #84 | List category posts | 37 | 161 | 17 | 80k+ | Output is not escaped | ||
| #85 | Quick Restaurant Menu | 37 | 136 | 40 | 1k+ | Text Domain Mismatch | ||
| #86 | Social Comments | 37 | 59 | 32 | 400 | Output is not escaped | ||
| #87 | Landing Page Builder – Free Landing Page Templates | 37 | 329 | 111 | 600 | Output is not escaped | ||
| #88 | Conditional Discounts for WooCommerce – A simple yet complete woocommerce dynamic pricing plugin | 37 | 99 | 33 | 9k+ | Text Domain Mismatch | ||
| #89 | Product Badge, Label, Countdown Timer for WooCommerce – Sale Booster | 38 | 37 | 102 | 5k+ | Interpolated SQL is not prepared | ||
| #90 | GoDaddy Payments for WooCommerce | 38 | 58 | 65 | 2k+ | Output is not escaped | ||
| #91 | Magical Posts Display – Elementor Advanced Posts widgets | 38 | 115 | 46 | 3k+ | Output is not escaped | ||
| #92 | Popular Posts by Webline | 38 | 256 | 8 | 1k+ | Output is not escaped | ||
| #93 | Tag Manager – Header, Body And Footer | 38 | 97 | 319 | 20k+ | Non-prefixed global variable | ||
| #94 | FAQ Concertina | 40 | 43 | 16 | 600 | Output is not escaped | ||
| #95 | Loan Comparison | 40 | 27 | 192 | 400 | Request data is not unslashed | ||
| #96 | NP Quote Request for WooCommerce | 40 | 91 | 145 | 8k+ | Non-prefixed global variable | ||
| #97 | Custom CSS/JS | 40 | 58 | 34 | 700 | Text Domain Mismatch | ||
| #98 | Bop Search Box Item Type For Nav Menus | 41 | 52 | 14 | 1k+ | Output is not escaped | ||
| #99 | Simple Page Access Restriction | 41 | 66 | 51 | 6k+ | Unsafe printing function | ||
| #100 | OnPay.io for WooCommerce | 42 | 238 | 37 | 1k+ | Text Domain Mismatch |