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 |
|---|---|---|---|---|---|---|---|---|
| #2801 | Catch Breadcrumb | 86 | 1 | 29 | 2k+ | Non-prefixed global variable | ||
| #2802 | CBX User Online & Last Login | 86 | 3 | 87 | 800 | Non-prefixed global variable | ||
| #2803 | AntiSpam for Contact Form 7 | 86 | 14 | 8 | 10k+ | Text Domain Mismatch | ||
| #2804 | Custom Error Messages for Gravity Forms | 86 | 3 | 4 | 400 | Output is not escaped | ||
| #2805 | Helpful – Article Feedback Plugin | 86 | 8 | 17 | 600 | Database parameter is not escaped | ||
| #2806 | Extra Styling for MemberPress | 86 | 64 | 7 | 500 | Text Domain Mismatch | ||
| #2807 | HT Newsletter for Elementor | 86 | 53 | 3 | 700 | Text Domain Mismatch | ||
| #2808 | LWS Affiliation | 86 | 8 | 23 | 700 | Missing nonce verification | ||
| #2809 | Ocean Product Sharing | 86 | 9 | 18 | 20k+ | Non-prefixed global variable | ||
| #2810 | Printus – Automatic Cloud Printing for WooCommerce | 86 | 28 | 20 | 800 | Missing Arg Domain | ||
| #2811 | Product Enquiry for WooCommerce (Now with AI Assistant) | 86 | 6 | 146 | 10k+ | Non-prefixed global variable | ||
| #2812 | Social Divi | 86 | 15 | 8 | 1k+ | Missing direct file access protection | ||
| #2813 | Socials Ignited | 86 | 12 | 2 | 2k+ | Missing direct file access protection | ||
| #2814 | Trusted Shops Easy Integration for WooCommerce | 86 | 5 | 67 | 6k+ | Non-prefixed hook name | ||
| #2815 | Ultimate Markdown – Markdown Editor, Importer, & Exporter | 86 | 6 | 15 | 2k+ | Database parameter is not escaped | ||
| #2816 | Variation Swatches for WooCommerce – Color, Image & Size Swatches | 86 | 2 | 17 | 200k+ | Request data is not unslashed | ||
| #2817 | WC MyParcel Belgium | 86 | 340 | 79 | 600 | Text Domain Mismatch | ||
| #2818 | Microsoft Azure Storage for WordPress | 86 | 25 | 26 | 2k+ | Missing Translators Comment | ||
| #2819 | Wompi Portal de Pagos | 86 | 23 | 10 | 5k+ | wp function not compatible with requires wp | ||
| #2820 | Custom Add To Cart Button for WooCommerce | 86 | 11 | 3 | 10k+ | Output is not escaped | ||
| #2821 | Sold Individually for WooCommerce Product Variations | 86 | 2 | 6 | 800 | Missing nonce verification | ||
| #2822 | WooCommerce Payfast Gateway | 86 | 90 | 47 | 30k+ | Text Domain Mismatch | ||
| #2823 | WP fancybox | 86 | 7 | 8 | 1k+ | Output is not escaped | ||
| #2824 | WP Upload Restriction | 86 | 59 | 16 | 2k+ | Text Domain Mismatch | ||
| #2825 | WP101 Video Tutorial Plugin | 86 | 15 | 18 | 10k+ | Missing direct file access protection | ||
| #2826 | WPUpper Share Buttons | 86 | 4 | 74 | 4k+ | Dynamic hook name | ||
| #2827 | Authors List | 87 | 2 | 16 | 5k+ | Nonce verification recommended | ||
| #2828 | bbPress Enable TinyMCE Visual Tab | 87 | 12 | 4 | 600 | Text Domain Mismatch | ||
| #2829 | Catch Infinite Scroll | 87 | 20 | 10k+ | Non-prefixed global variable | |||
| #2830 | Farsi Font for Elementor | 87 | 11 | 2 | 1k+ | Missing Translators Comment | ||
| #2831 | GTM Kit – Google Tag Manager & GA4 integration | 87 | 5 | 17 | 30k+ | Missing direct file access protection | ||
| #2832 | I Recommend This – Love/Like Button for WordPress Posts | 87 | 3 | 49 | 5k+ | Direct Query | ||
| #2833 | Livebeep – Chatbot, Live Chat, CRM & Digital Marketing | 87 | 7 | 4 | 400 | Output is not escaped | ||
| #2834 | Menu Caching | 87 | 3 | 12 | 500 | Request data is not unslashed | ||
| #2835 | NHS Blocks | 87 | 6 | 6 | 900 | Non-prefixed global variable | ||
| #2836 | Bulk Page Generator and Mass Page Builder – Page Generator | 87 | 26 | 87 | 4k+ | Non-prefixed global variable | ||
| #2837 | ParcelWILL (Formerly ParcelPanel) – Shipment Tracking, Tracking & Order Tracking for WooCommerce | 87 | 6 | 81 | 7k+ | Non-prefixed global variable | ||
| #2838 | Recently Viewed Products for WooCommerce – Carousel, Widget, Block & Email | 87 | 2 | 18 | 1k+ | Database parameter is not escaped | ||
| #2839 | Simple Photo Feed | 87 | 4 | 48 | 1k+ | Non-prefixed global variable | ||
| #2840 | Invoice Payment Gateway for WooCommerce | 87 | 5 | 4 | 2k+ | Output is not escaped | ||
| #2841 | Coupon Box for WooCommerce | 87 | 11 | 85 | 1k+ | Non-prefixed global variable | ||
| #2842 | WP Auto Updater | 87 | 5 | 19 | 7k+ | Database parameter is not escaped | ||
| #2843 | WP Dashboard Messages | 87 | 9 | 11 | 400 | Text Domain Mismatch | ||
| #2844 | ZI Hide price and add to cart for WooCommerce | 87 | 15 | 7 | 1k+ | wp function not compatible with requires wp | ||
| #2845 | ACF Dropzone | 88 | 4 | 3 | 1k+ | Exception output is not escaped | ||
| #2846 | Worldline Online Checkout | 88 | 4 | 16 | 1k+ | Nonce verification recommended | ||
| #2847 | Captcha by Yandex for Contact Form 7 | 88 | 9 | 12 | 3k+ | Text Domain Mismatch | ||
| #2848 | Catch IDs | 88 | 16 | 20k+ | Non-prefixed global variable | |||
| #2849 | Content Control – The Ultimate Content Restriction Plugin! Restrict Content, Create Conditional Blocks & More | 88 | 20 | 116 | 40k+ | Non-prefixed hook name | ||
| #2850 | Serious Slider | 88 | 7 | 9 | 20k+ | Non-prefixed global variable |