WordPress.WP.I18n.MissingArgDomain
Missing Arg Domain
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 |
|---|---|---|---|---|---|---|---|---|
| #3001 | Web Accessibility with Max Access | 71 | 22 | 11 | 800 | curl curl setopt | ||
| #3002 | ACF Enhanced Message Field | 71 | 29 | 1 | 600 | Text Domain Mismatch | ||
| #3003 | Bootstrap Shortcodes | 71 | 21 | 11 | 5k+ | Missing direct file access protection | ||
| #3004 | Contact Form 7 Confirm Email Field | 71 | 35 | 11 | 2k+ | Text Domain Mismatch | ||
| #3005 | Quick and Easy FAQs | 71 | 92 | 9 | 10k+ | Non Singular String Literal Domain | ||
| #3006 | Selection Lite | 71 | 14 | 21 | 10k+ | Missing Arg Domain | ||
| #3007 | Social Fabric Analytics From Collective Bias | 71 | 17 | 0 | 1k+ | Output is not escaped | ||
| #3008 | Visual Bible Verse of the Day Widget | 71 | 27 | 1 | 1k+ | Output is not escaped | ||
| #3009 | Webhook for Discord | 71 | 119 | 20 | 400 | Text Domain Mismatch | ||
| #3010 | WP IE Buster | 71 | 13 | 3 | 800 | Output is not escaped | ||
| #3011 | Multi-Step Checkout for WooCommerce | 71 | 38 | 104 | 8k+ | Non-prefixed global variable | ||
| #3012 | WP Widget in Navigation | 71 | 37 | 15 | 3k+ | Non Singular String Literal Domain | ||
| #3013 | Advanced WordPress Backgrounds | 72 | 21 | 7 | 30k+ | Output is not escaped | ||
| #3014 | Click to top | 72 | 22 | 8 | 2k+ | Output is not escaped | ||
| #3015 | Dashboard Wordcount | 72 | 30 | 7 | 500 | Output is not escaped | ||
| #3016 | Display your Checkatrade | 72 | 19 | 3 | 400 | Output is not escaped | ||
| #3017 | PowerBI Embed Reports | 72 | 3 | 20 | 500 | Nonce verification recommended | ||
| #3018 | jQuery Masonry Image Gallery | 72 | 17 | 6 | 1k+ | Unsafe printing function | ||
| #3019 | Keyword Research Tool | 72 | 9 | 11 | 700 | Input is not validated | ||
| #3020 | Media File Sizes | 72 | 14 | 5 | 1k+ | Output is not escaped | ||
| #3021 | My-Plugins | 72 | 24 | 6 | 20k+ | Missing Arg Domain | ||
| #3022 | Advanced Datepicker – Restricts Date for Contact Form 7 | 72 | 228 | 11 | 400 | wp function not compatible with requires wp | ||
| #3023 | Simple Local Avatars | 72 | 14 | 16 | 100k+ | Non-prefixed constant | ||
| #3024 | Smartwaiver Waiver Widget | 72 | 17 | 8 | 400 | Output is not escaped | ||
| #3025 | Social Media Icons Widget | 72 | 181 | 10 | 1k+ | badly named files | ||
| #3026 | Storefront Product Sharing | 72 | 13 | 3 | 5k+ | Output is not escaped | ||
| #3027 | Starter Templates & Sites Pack by ThemeGrill | 72 | 28 | 51 | 70k+ | Non-prefixed hook name | ||
| #3028 | Ultimate Member Custom Tab Builder Lite | 72 | 12 | 15 | 500 | Output is not escaped | ||
| #3029 | Webyx for Gutenberg – Fullpage Fullscreen Scrolling Websites | 72 | 14 | 11 | 600 | Output is not escaped | ||
| #3030 | Direct Checkout for WooCommerce | 72 | 77 | 35 | 80k+ | Text Domain Mismatch | ||
| #3031 | Block Plugin Update | 73 | 9 | 10 | 6k+ | Missing direct file access protection | ||
| #3032 | Dash Notifier | 73 | 12 | 6 | 20k+ | Heredoc Output Not Escaped | ||
| #3033 | Email Test – Check if your emails are being delivered | 73 | 8 | 7 | 1k+ | Exception output is not escaped | ||
| #3034 | EXMAGE – WordPress Image Links | 73 | 14 | 34 | 7k+ | Missing Arg Domain | ||
| #3035 | Freetobook Responsive Widget | 73 | 5 | 14 | 500 | Input is not sanitized | ||
| #3036 | jQuery Lightbox For Native Galleries | 73 | 26 | 7 | 5k+ | Text Domain Mismatch | ||
| #3037 | Multifile Upload Field for Contact Form 7 | 73 | 41 | 7 | 5k+ | Text Domain Mismatch | ||
| #3038 | Osom Modal Login | 73 | 40 | 12 | 400 | Text Domain Mismatch | ||
| #3039 | Advanced Custom Fields: Accordion Tab Field | 74 | 14 | 11 | 800 | Missing Version | ||
| #3040 | Append Link on Copy | 74 | 23 | 5 | 800 | Output is not escaped | ||
| #3041 | Custom Icons for Elementor and WPBakery | 74 | 35 | 38 | 10k+ | Non-prefixed global variable | ||
| #3042 | Duplicate Taxonomy Term | 74 | 9 | 5 | 2k+ | Nonce verification recommended | ||
| #3043 | Duplicate Widget | 74 | 17 | 0 | 1k+ | Output is not escaped | ||
| #3044 | Dynamic Conditions | 74 | 42 | 3 | 60k+ | Missing Arg Domain | ||
| #3045 | ELEX WooCommerce USPS Shipping Method | 74 | 139 | 45 | 900 | Text Domain Mismatch | ||
| #3046 | Markup Markdown | 74 | 18 | 128 | 2k+ | Non-prefixed global variable | ||
| #3047 | Post My CF7 Form | 74 | 21 | 168 | 2k+ | Non-prefixed global variable | ||
| #3048 | Scroll to Top Button | 74 | 16 | 4 | 1k+ | Output is not escaped | ||
| #3049 | Show Pages IDs | 74 | 8 | 8 | 10k+ | Output is not escaped | ||
| #3050 | Sticky Custom Post Types | 74 | 15 | 0 | 500 | Missing Arg Domain |