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 |
|---|---|---|---|---|---|---|---|---|
| #2701 | Random Content | 80 | 10 | 8 | 3k+ | Output is not escaped | ||
| #2702 | Re-add text underline and justify | 80 | 10 | 2 | 50k+ | Output is not escaped | ||
| #2703 | RealHomes Currency Switcher | 80 | 71 | 42 | 1k+ | Non Singular String Literal Domain | ||
| #2704 | Rich Contact Widget | 80 | 13 | 2 | 9k+ | Output is not escaped | ||
| #2705 | Nexter Blocks – Gutenberg Blocks, Page Builder & AI Website Builder | 80 | 94 | 732 | 10k+ | Non-prefixed global variable | ||
| #2706 | Product Feed PRO for WooCommerce by AdTribes – Product Feeds for WooCommerce | 80 | 9 | 450 | 80k+ | Non-prefixed hook name | ||
| #2707 | GoCardless for WooCommerce | 80 | 60 | 1k+ | Non-prefixed class | |||
| #2708 | WP Delete User Accounts | 80 | 10 | 7 | 800 | Missing direct file access protection | ||
| #2709 | Advanced Image Hover Effect for Elementor | 81 | 251 | 8 | 1k+ | Text Domain Mismatch | ||
| #2710 | Authorsy – Author Box, Multiple Authors, Guest Authors & Post Rating | 81 | 1 | 20 | 1k+ | Request data is not unslashed | ||
| #2711 | Block Visibility — Conditional Visibility Control for the Block Editor | 81 | 7 | 11 | 40k+ | Input is not sanitized | ||
| #2712 | Ceylon Demo Installer | 81 | 11 | 9 | 400 | Non-prefixed function | ||
| #2713 | Column Ordering For Elementor | 81 | 21 | 6 | 1k+ | Text Domain Mismatch | ||
| #2714 | eCommerce Shipping Dashboard by UPS for WooCommerce | 81 | 6 | 35 | 1k+ | Non-prefixed constant | ||
| #2715 | ElasticPress | 81 | 13 | 655 | 8k+ | Non-prefixed hook name | ||
| #2716 | LottieFiles – JSON Based Animation Lottie & Bodymovin for Elementor | 81 | 162 | 9 | 3k+ | Text Domain Mismatch | ||
| #2717 | JivoChat Live Chat – WP live chat plugin for WordPress | 81 | 27 | 13 | 20k+ | wp function not compatible with requires wp | ||
| #2718 | LoftLoader | 81 | 17 | 19 | 70k+ | Missing direct file access protection | ||
| #2719 | OG — Better Share on Social Media | 81 | 14 | 51 | 30k+ | Non-prefixed hook name | ||
| #2720 | Pagebar2 | 81 | 19 | 37 | 900 | Non-prefixed global variable | ||
| #2721 | Select and Multi-Select Field for Contact Form 7 | 81 | 25 | 12 | 2k+ | Text Domain Mismatch | ||
| #2722 | Simple Site Map Page | 81 | 9 | 1 | 4k+ | Output is not escaped | ||
| #2723 | Siteimprove | 81 | 6 | 23 | 700 | Nonce verification recommended | ||
| #2724 | SmartVideo – Video Player and CDN | 81 | 364 | 47 | 1k+ | Text Domain Mismatch | ||
| #2725 | Force Authentification Before Checkout for WooCommerce | 81 | 12 | 4 | 6k+ | Output is not escaped | ||
| #2726 | Free Shipping Bar for WooCommerce | 81 | 5 | 21 | 2k+ | Non-prefixed global variable | ||
| #2727 | Product SKU Generator for WooCommerce | 81 | 2 | 8 | 8k+ | Nonce verification recommended | ||
| #2728 | WP Subtitle | 81 | 7 | 33 | 10k+ | Non-prefixed hook name | ||
| #2729 | Wp Tracking Codes | 81 | 7 | 12 | 900 | Nonce verification recommended | ||
| #2730 | ACF Multi Dates Field | 82 | 6 | 8 | 1k+ | Not In Footer | ||
| #2731 | Add-on Brevo for Gravity Forms | 82 | 15 | 13 | 1k+ | Text Domain Mismatch | ||
| #2732 | Catch Gallery | 82 | 1 | 35 | 10k+ | Non-prefixed hook name | ||
| #2733 | Confirm Plus Contact Form 7 | 82 | 10 | 15 | 7k+ | Non Singular String Literal Domain | ||
| #2734 | Easy Genesis Logo Uploader | 82 | 18 | 5 | 400 | Output is not escaped | ||
| #2735 | Hostinger Tools | 82 | 13 | 22 | 3m+ | wp function not compatible with requires wp | ||
| #2736 | Indent Lists Button | 82 | 10 | 3 | 700 | Output is not escaped | ||
| #2737 | Lazy Load for Videos | 82 | 6 | 37 | 9k+ | Non-prefixed constant | ||
| #2738 | Link Juice Optimizer | 82 | 12 | 6 | 6k+ | Output is not escaped | ||
| #2739 | Metricool – Social media and site statistics | 82 | 9 | 4 | 80k+ | Exception output is not escaped | ||
| #2740 | MyBookTable Bookstore by Stormhill Media | 82 | 16 | 34 | 1k+ | Direct Query | ||
| #2741 | PixTypes | 82 | 178 | 9k+ | Non-prefixed global variable | |||
| #2742 | Posts and Users Stats | 82 | 183 | 600 | Non-prefixed global variable | |||
| #2743 | Simple Widget Title Links | 82 | 15 | 3 | 400 | Output is not escaped | ||
| #2744 | Storefront Blog Excerpts | 82 | 24 | 2 | 700 | Text Domain Mismatch | ||
| #2745 | Super Web Share – Native Social Sharing Button | 82 | 24 | 19 | 2k+ | Non-prefixed function | ||
| #2746 | Tasty Recipes Lite | 82 | 7 | 66 | 2k+ | Non-prefixed global variable | ||
| #2747 | Xpro Theme Builder For Elementor – FREE | 82 | 14 | 28 | 10k+ | Missing direct file access protection | ||
| #2748 | ACF Repeater & Flexible Content Collapser | 83 | 21 | 4 | 3k+ | Text Domain Mismatch | ||
| #2749 | Integration of Bitrix24 with Contact Form 7 | 83 | 14 | 40 | 600 | Non-prefixed function | ||
| #2750 | Code Click to Copy | 83 | 12 | 9 | 700 | Non-prefixed function |