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 |
|---|---|---|---|---|---|---|---|---|
| #2501 | Animentor – Lottie & Bodymovin for Elementor | 70 | 18 | 8 | 4k+ | Output is not escaped | ||
| #2502 | Private Store for WooCommerce B2B & Wholesale by B2BKing | 70 | 86 | 8 | 600 | Text Domain Mismatch | ||
| #2503 | BestPrice Analytics Integration | 70 | 35 | 10 | 1k+ | Text Domain Mismatch | ||
| #2504 | Gutenberg Blocks Templates – 50+ Free Gutenberg Block Designs | 70 | 2 | 23 | 700 | Request data is not unslashed | ||
| #2505 | Embed Code – Headers & Footers by DesignBombs | 70 | 19 | 5 | 4k+ | Output is not escaped | ||
| #2506 | Ghost | 70 | 25 | 12 | 600 | Output is not escaped | ||
| #2507 | Host Header Injection Fix | 70 | 9 | 8 | 400 | Output is not escaped | ||
| #2508 | Library | 70 | 14 | 3 | 700 | Output is not escaped | ||
| #2509 | Post Grid & Post Slider – Carousel, Filter Tabs & Related Posts | 70 | 6 | 53 | 1k+ | Request data is not unslashed | ||
| #2510 | Press This | 70 | 1 | 44 | 5k+ | Non-prefixed hook name | ||
| #2511 | Ridhi Companion | 70 | 37 | 38 | 500 | Non-prefixed global variable | ||
| #2512 | SubHeading | 70 | 22 | 13 | 1k+ | Non Singular String Literal Domain | ||
| #2513 | Support Me | 70 | 12 | 6 | 900 | Unsafe printing function | ||
| #2514 | Upsell Funnel Builder for WooCommerce – Create Upsells, Cross-Sells, Order Bumps, Frequently Bought, and Popups. | 70 | 3 | 1,446 | 3k+ | Non-prefixed global variable | ||
| #2515 | WEBKINDER Integration for Google Analytics and Google Tag Manager | 70 | 15 | 22 | 10k+ | Output is not escaped | ||
| #2516 | Cart All In One For WooCommerce | 70 | 6 | 150 | 5k+ | Non-prefixed global variable | ||
| #2517 | WP Calorie Calculator | 70 | 22 | 55 | 1k+ | Non-prefixed global variable | ||
| #2518 | Download Manager Addons for Elementor | 70 | 272 | 13 | 6k+ | Non Singular String Literal Domain | ||
| #2519 | ACF Tooltip | 71 | 16 | 3 | 1k+ | Output is not escaped | ||
| #2520 | Change Administrator Email Address | 71 | 12 | 9 | 700 | Output is not escaped | ||
| #2521 | Quick and Easy FAQs | 71 | 92 | 9 | 10k+ | Non Singular String Literal Domain | ||
| #2522 | SmartSMTP | 71 | 8 | 42 | 2k+ | Nonce verification recommended | ||
| #2523 | WindPress – Tailwind CSS integration for WordPress | 71 | 16 | 106 | 3k+ | Non-prefixed hook name | ||
| #2524 | Discount Rules for WooCommerce | 71 | 10 | 454 | 100k+ | Non-prefixed global variable | ||
| #2525 | Advanced WordPress Backgrounds | 72 | 21 | 7 | 30k+ | Output is not escaped | ||
| #2526 | BB Delete cache | 72 | 3 | 15 | 1k+ | Input is not sanitized | ||
| #2527 | Block Archive.org via WordPress robots.txt | 72 | 9 | 8 | 400 | Output is not escaped | ||
| #2528 | Click to top | 72 | 22 | 8 | 2k+ | Output is not escaped | ||
| #2529 | Dashboard Wordcount | 72 | 30 | 7 | 500 | Output is not escaped | ||
| #2530 | Disclaimify – Affiliate Disclosure / Disclaimer for WordPress | 72 | 2 | 19 | 1k+ | Missing nonce verification | ||
| #2531 | Gift Wrapping for WooCommerce | 72 | 2 | 16 | 1k+ | Missing nonce verification | ||
| #2532 | Media Library Organizer – Folders, File Manager & Media Categories | 72 | 20 | 130 | 20k+ | Non-prefixed global variable | ||
| #2533 | Post Types Unlimited | 72 | 45 | 7 | 10k+ | Missing Translators Comment | ||
| #2534 | Responsive Owl Carousel for Elementor | 72 | 40 | 89 | 7k+ | Non-prefixed global variable | ||
| #2535 | Tabs Widget for Page Builder | 72 | 22 | 7 | 3k+ | Text Domain Mismatch | ||
| #2536 | Starter Templates & Sites Pack by ThemeGrill | 72 | 28 | 51 | 70k+ | Non-prefixed hook name | ||
| #2537 | Ultimate Member Custom Tab Builder Lite | 72 | 12 | 15 | 500 | Output is not escaped | ||
| #2538 | Place Order Without Payment for WooCommerce | 72 | 244 | 62 | 3k+ | Text Domain Mismatch | ||
| #2539 | Direct Checkout for WooCommerce | 72 | 77 | 35 | 80k+ | Text Domain Mismatch | ||
| #2540 | AffiliateWP – Allowed Products | 73 | 47 | 19 | 1k+ | Text Domain Mismatch | ||
| #2541 | Albacross for WordPress | 73 | 18 | 5 | 1k+ | Text Domain Mismatch | ||
| #2542 | Bestfreebie Elementor Icons | 73 | 27 | 13 | 400 | Text Domain Mismatch | ||
| #2543 | Contact Form to Brevo | 73 | 67 | 11 | 1k+ | Text Domain Mismatch | ||
| #2544 | EU Withdrawal Button for WooCommerce | 73 | 27 | 400 | Missing nonce verification | |||
| #2545 | EXMAGE – WordPress Image Links | 73 | 14 | 34 | 7k+ | Missing Arg Domain | ||
| #2546 | International Phone Number Format | 73 | 51 | 20 | 400 | Text Domain Mismatch | ||
| #2547 | Weight zone shipping for WooCommerce | 73 | 25 | 13 | 1k+ | Missing Translators Comment | ||
| #2548 | Osom Modal Login | 73 | 40 | 12 | 400 | Text Domain Mismatch | ||
| #2549 | Product Bundles – Bulk Discounts | 73 | 31 | 7 | 600 | Text Domain Mismatch | ||
| #2550 | Remove Taxonomy URL | 73 | 17 | 16 | 1k+ | Output is not escaped |