PluginCheck.CodeAnalysis.DiscouragedFunctions.load_plugin_textdomainFound
Discouraged text-domain loading
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 |
|---|---|---|---|---|---|---|---|---|
| #2001 | Anonymous Restricted Content | 43 | 22 | 24 | 1k+ | Unsafe printing function | ||
| #2002 | Auto Alt Text | 43 | 52 | 13 | 4k+ | Exception output is not escaped | ||
| #2003 | Charla Live Chat | 43 | 33 | 13 | 500 | Output is not escaped | ||
| #2004 | Comment Reply Email Notification | 43 | 44 | 19 | 3k+ | Output is not escaped | ||
| #2005 | Custom Menu | 43 | 83 | 11 | 400 | wp function not compatible with requires wp | ||
| #2006 | Customize Login Image | 43 | 32 | 9 | 3k+ | Unsafe printing function | ||
| #2007 | Customize Snapshots | 43 | 9 | 42 | 500 | Nonce verification recommended | ||
| #2008 | Database Addon For WPForms ( wpforms entries ) – WPFormsDB | 43 | 17 | 53 | 20k+ | Nonce verification recommended | ||
| #2009 | Directorist – WPML Integration | 43 | 10 | 134 | 400 | Non-prefixed hook name | ||
| #2010 | Disable Gutenberg | 43 | 23 | 47 | 500k+ | Nonce verification recommended | ||
| #2011 | Disable WP Notification | 43 | 74 | 25 | 10k+ | Output is not escaped | ||
| #2012 | Email Notification on Login | 43 | 33 | 7 | 1k+ | Unsafe printing function | ||
| #2013 | F4 Total Stock Value for WooCommerce | 43 | 27 | 12 | 1k+ | Output is not escaped | ||
| #2014 | GD bbPress Tools | 43 | 15 | 61 | 1k+ | Input is not sanitized | ||
| #2015 | Event Tracking for Gravity Forms | 43 | 34 | 25 | 20k+ | rand mt rand | ||
| #2016 | Hash Form – Drag & Drop Form Builder | 43 | 9 | 273 | 3k+ | Non-prefixed global variable | ||
| #2017 | Linker – URL shortener & track outbound link clicks | 43 | 17 | 17 | 2k+ | Output is not escaped | ||
| #2018 | Opal Woo Custom Product Variation | 43 | 1 | 116 | 400 | Non-prefixed global variable | ||
| #2019 | Purchase Orders for WooCommerce | 43 | 117 | 74 | 1k+ | Text Domain Mismatch | ||
| #2020 | Redirect List | 43 | 34 | 22 | 1k+ | Output is not escaped | ||
| #2021 | Secure Passkeys | 43 | 145 | 83 | 1k+ | Exception output is not escaped | ||
| #2022 | ShinyStat Analytics | 43 | 65 | 8 | 1k+ | Output is not escaped | ||
| #2023 | Sinbyte Indexer | 43 | 61 | 19 | 2k+ | Text Domain Mismatch | ||
| #2024 | Team Builder Member Showcase | 43 | 14 | 127 | 1k+ | Non-prefixed global variable | ||
| #2025 | Terms Order WP – Categories And Taxonomies Order Plugin | 43 | 12 | 47 | 900 | Non-prefixed global variable | ||
| #2026 | Theme Switcha – Easily Switch Themes for Development and Testing | 43 | 42 | 53 | 7k+ | Output is not escaped | ||
| #2027 | Ultimate Member Widgets for Elementor – Login Form, Register Form & User Directory | 43 | 15 | 102 | 400 | Non-prefixed namespace | ||
| #2028 | User role based shipping methods | 43 | 53 | 7 | 400 | Output is not escaped | ||
| #2029 | VA Simple Expires | 43 | 25 | 31 | 800 | Output is not escaped | ||
| #2030 | WIP Custom Login | 43 | 21 | 37 | 700 | Nonce verification recommended | ||
| #2031 | Checkout Field Manager (Checkout Manager) for WooCommerce | 43 | 161 | 154 | 90k+ | Non-prefixed global variable | ||
| #2032 | WP Post Expires | 43 | 21 | 15 | 2k+ | Output is not escaped | ||
| #2033 | Active Campaign & Contact Form 7 | 43 | 40 | 27 | 3k+ | Output is not escaped | ||
| #2034 | Advanced Dynamic Pricing and Discount Rules for WooCommerce | 44 | 2 | 813 | 20k+ | Non-prefixed namespace | ||
| #2035 | BBQ Firewall – Fast & Powerful Firewall Security | 44 | 17 | 17 | 100k+ | Output is not escaped | ||
| #2036 | Button visually impaired | 44 | 145 | 5 | 10k+ | Text Domain Mismatch | ||
| #2037 | Checkout Upsell Funnel for WooCommerce | 44 | 6 | 244 | 600 | Non-prefixed global variable | ||
| #2038 | Creative Addons for Elementor | 44 | 63 | 100 | 800 | Missing Arg Domain | ||
| #2039 | Currency Converter Widget | 44 | 37 | 6 | 3k+ | Unsafe printing function | ||
| #2040 | Easy!Appointments | 44 | 47 | 6 | 500 | Unsafe printing function | ||
| #2041 | KKiapay WooCommerce Plugin | 44 | 20 | 25 | 400 | Output is not escaped | ||
| #2042 | LIQUID SPEECH BALLOON | 44 | 34 | 30 | 10k+ | Output is not escaped | ||
| #2043 | Minimum Order Amount for Woocommerce | 44 | 50 | 16 | 2k+ | Text Domain Mismatch | ||
| #2044 | Notix – Web Push Notifications | 44 | 22 | 41 | 600 | Non-prefixed global variable | ||
| #2045 | Ocean Modal Window | 44 | 26 | 44 | 10k+ | Output is not escaped | ||
| #2046 | Proxy & VPN Blocker | 44 | 74 | 1k+ | Nonce verification recommended | |||
| #2047 | Simple Image Widget | 44 | 26 | 19 | 10k+ | Unsafe printing function | ||
| #2048 | SKT Addons for Elementor | 44 | 611 | 383 | 1k+ | Text Domain Mismatch | ||
| #2049 | SmartVideo – Video Player and CDN | 44 | 295 | 44 | 1k+ | Text Domain Mismatch | ||
| #2050 | TP Product Description in Loop for WooCommerce | 44 | 48 | 7 | 500 | Setting is missing a sanitization callback |