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 |
|---|---|---|---|---|---|---|---|---|
| #1801 | Coupon Generator for WooCommerce | 40 | 39 | 28 | 10k+ | Unsafe printing function | ||
| #1802 | Crisp – Live Chat and Chatbot | 40 | 24 | 20 | 20k+ | Unsafe printing function | ||
| #1803 | Cron Logger | 40 | 49 | 36 | 1k+ | Output is not escaped | ||
| #1804 | Cryptocurrency Widgets Pack | 40 | 222 | 52 | 700 | Unsafe printing function | ||
| #1805 | Custom Contact Forms | 40 | 13 | 106 | 6k+ | Missing nonce verification | ||
| #1806 | Eventer | 40 | 61 | 55 | 1k+ | Output is not escaped | ||
| #1807 | Export Post Info | 40 | 66 | 3 | 1k+ | Unsafe printing function | ||
| #1808 | FAQ Schema – Accordion, Tab, Slider & Gutenberg Block | 40 | 253 | 46 | 2k+ | Output is not escaped | ||
| #1809 | Fast User Switching | 40 | 28 | 28 | 2k+ | Output is not escaped | ||
| #1810 | FluentComments – Spam protection, AntiSpam, Ajax Enhanced Comments | 40 | 50 | 47 | 700 | Non-prefixed global variable | ||
| #1811 | Analytics Germanized for Google Analytics (GDPR / DSGVO) | 40 | 49 | 14 | 7k+ | Output is not escaped | ||
| #1812 | Osom Author Pro | 40 | 83 | 22 | 1k+ | Output is not escaped | ||
| #1813 | Get Cash | 40 | 84 | 49 | 500 | Non Singular String Literal Domain | ||
| #1814 | GetPaid > Item Inventory | 40 | 112 | 52 | 400 | Text Domain Mismatch | ||
| #1815 | Header Footer Custom Html | 40 | 95 | 22 | 1k+ | Unsafe printing function | ||
| #1816 | Header Promo – Show Top Bar Message or Call to Action | 40 | 472 | 45 | 400 | Output is not escaped | ||
| #1817 | Internal Linking of Related Contents | 40 | 714 | 47 | 1k+ | Output is not escaped | ||
| #1818 | Quotes Addon for GetPaid | 40 | 191 | 21 | 700 | Text Domain Mismatch | ||
| #1819 | JSM Show Order Metadata for WooCommerce HPOS | 40 | 17 | 64 | 700 | Nonce verification recommended | ||
| #1820 | JSM Show Post Metadata | 40 | 15 | 66 | 10k+ | Nonce verification recommended | ||
| #1821 | JSM Show Term Metadata | 40 | 14 | 64 | 900 | Nonce verification recommended | ||
| #1822 | JSM Show User Metadata | 40 | 14 | 64 | 3k+ | Nonce verification recommended | ||
| #1823 | Listdomer Core | 40 | 45 | 92 | 400 | Non-prefixed global variable | ||
| #1824 | Loan Comparison | 40 | 27 | 192 | 400 | Request data is not unslashed | ||
| #1825 | MAS Company Reviews For WP Job Manager | 40 | 44 | 71 | 1k+ | Output is not escaped | ||
| #1826 | Mass Email To Users | 40 | 84 | 81 | 800 | Output is not escaped | ||
| #1827 | WP Mobile Redirect | 40 | 44 | 20 | 400 | Text Domain Mismatch | ||
| #1828 | No-Bot Registration | 40 | 112 | 42 | 2k+ | Unsafe printing function | ||
| #1829 | Donations via PayPal | 40 | 143 | 17 | 20k+ | Output is not escaped | ||
| #1830 | Give – Paystack Gateway | 40 | 96 | 10 | 1k+ | Text Domain Mismatch | ||
| #1831 | Pixel Tag Manager for WooCommerce – Google Analytics 4, Google Ads, and More Pixels | 40 | 68 | 249 | 3k+ | Missing nonce verification | ||
| #1832 | Post Ratings | 40 | 160 | 32 | 600 | Output is not escaped | ||
| #1833 | Random Banner | 40 | 59 | 125 | 1k+ | Output is not escaped | ||
| #1834 | Random Post Plugin – Redirect URL to Post | 40 | 28 | 74 | 3k+ | Nonce verification recommended | ||
| #1835 | Rename default post Labels | 40 | 54 | 36 | 600 | Text Domain Mismatch | ||
| #1836 | Responsive Sidebar | 40 | 43 | 12 | 700 | Output is not escaped | ||
| #1837 | LazyLoad Plugin – Lazy Load Images, Videos, and Iframes | 40 | 31 | 17 | 100k+ | Output is not escaped | ||
| #1838 | RPB Chessboard | 40 | 86 | 98 | 1k+ | Missing direct file access protection | ||
| #1839 | Schedule Posts Calendar | 40 | 74 | 36 | 1k+ | Output is not escaped | ||
| #1840 | Search Live | 40 | 132 | 71 | 600 | Output is not escaped | ||
| #1841 | Search with Typesense | 40 | 81 | 122 | 700 | Non-prefixed global variable | ||
| #1842 | Simple Statistics for Feeds | 40 | 64 | 131 | 800 | Nonce verification recommended | ||
| #1843 | AdFlow – Easy Google AdSense Integration | 40 | 150 | 9 | 3k+ | Unsafe printing function | ||
| #1844 | Simple Page Sidebars | 40 | 55 | 65 | 10k+ | Output is not escaped | ||
| #1845 | Sinatra Core | 40 | 101 | 15 | 8k+ | Output is not escaped | ||
| #1846 | CPS | Age Verification | 40 | 127 | 35 | 900 | Unsafe printing function | ||
| #1847 | Tealium | 40 | 73 | 19 | 600 | Unsafe printing function | ||
| #1848 | Theme and plugin translation for Polylang (TTfP) | 40 | 102 | 62 | 10k+ | Text Domain Mismatch | ||
| #1849 | ThemeZee Toolkit | 40 | 44 | 116 | 6k+ | Nonce verification recommended | ||
| #1850 | Track Geolocation Of Users Using Contact Form 7 | 40 | 17 | 173 | 900 | Nonce verification recommended |