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 |
|---|---|---|---|---|---|---|---|---|
| #2401 | WProofreader spell & grammar check plugin for WordPress | 64 | 12 | 43 | 4k+ | Non-prefixed global variable | ||
| #2402 | Werk aan de Muur | 64 | 48 | 20 | 900 | Non Singular String Literal Domain | ||
| #2403 | JTL-Connector for WooCommerce | 64 | 7 | 166 | 1k+ | Direct Query | ||
| #2404 | WP REST API Controller | 64 | 8 | 22 | 8k+ | Nonce verification recommended | ||
| #2405 | WP Search with Algolia | 64 | 27 | 16 | 7k+ | Missing direct file access protection | ||
| #2406 | YaMaps for WordPress Plugin | 64 | 21 | 30 | 10k+ | Non-prefixed global variable | ||
| #2407 | Яндекс.ПДС Пингер / Yandex Site search pinger | 64 | 21 | 5 | 800 | Output is not escaped | ||
| #2408 | Authorizer | 65 | 3 | 54 | 5k+ | Nonce verification recommended | ||
| #2409 | Disable REST API | 65 | 12 | 15 | 80k+ | Output is not escaped | ||
| #2410 | Dojo for WooCommerce | 65 | 71 | 13 | 800 | Text Domain Mismatch | ||
| #2411 | Easy Twitter Feed Widget Plugin | 65 | 90 | 15 | 10k+ | Text Domain Mismatch | ||
| #2412 | EDD Hide Download | 65 | 13 | 13 | 600 | Output is not escaped | ||
| #2413 | Featured Galleries | 65 | 15 | 10 | 3k+ | Output is not escaped | ||
| #2414 | Futy.io Leadbots | 65 | 73 | 9 | 2k+ | wp function not compatible with requires wp | ||
| #2415 | Product Image and Video Gallery Slider for WooCommerce | 65 | 13 | 7 | 700 | Output is not escaped | ||
| #2416 | Reading progressbar | 65 | 25 | 2 | 6k+ | Output is not escaped | ||
| #2417 | SocketLabs | 65 | 15 | 18 | 900 | Output is not escaped | ||
| #2418 | VK Link Target Controller | 65 | 13 | 10 | 30k+ | Output is not escaped | ||
| #2419 | Websitescanner Custom Schema | 65 | 28 | 19 | 600 | wp function not compatible with requires wp | ||
| #2420 | Add to Cart Text Changer and Customize Button, Add Custom Icon | 65 | 87 | 18 | 2k+ | Text Domain Mismatch | ||
| #2421 | Ajaxify Comments – Ajax and Lazy Loading Comments | 65 | 20 | 38 | 3k+ | Non-prefixed hook name | ||
| #2422 | ACF RGBA Color Picker | 66 | 37 | 3 | 6k+ | Text Domain Mismatch | ||
| #2423 | CP Media Player – Audio Player and Video Player | 66 | 224 | 48 | 3k+ | Text Domain Mismatch | ||
| #2424 | Bopo – WooCommerce Product Bundle Builder | 66 | 137 | 135 | 1k+ | Text Domain Mismatch | ||
| #2425 | Calculated fields for ACF | 66 | 5 | 18 | 1k+ | Non-prefixed global variable | ||
| #2426 | Easy PHP Settings | 66 | 34 | 48 | 1k+ | Missing Translators Comment | ||
| #2427 | Estatik Mortgage Calculator | 66 | 22 | 6 | 1k+ | Output is not escaped | ||
| #2428 | Font Size | 66 | 17 | 1 | 600 | Unsafe printing function | ||
| #2429 | Icon Widget | 66 | 14 | 9 | 4k+ | Output is not escaped | ||
| #2430 | IranDargah Payment Gateway for Woocommerce | 66 | 66 | 26 | 400 | Text Domain Mismatch | ||
| #2431 | LeadBack – Callback, Chatbot and Live Chat Widgets for WordPress sites | 66 | 17 | 5 | 600 | Unsafe printing function | ||
| #2432 | Link Widget Title | 66 | 22 | 5 | 4k+ | Output is not escaped | ||
| #2433 | Product Code for WooCommerce | 66 | 13 | 54 | 1k+ | Missing direct file access protection | ||
| #2434 | TAO Schedule Update | 66 | 37 | 11 | 2k+ | Text Domain Mismatch | ||
| #2435 | Ajax add to cart for WooCommerce | 66 | 67 | 31 | 10k+ | Text Domain Mismatch | ||
| #2436 | WP Scroll Depth | 66 | 29 | 9 | 1k+ | Output is not escaped | ||
| #2437 | CCM19 Integration | 67 | 14 | 13 | 4k+ | Nonce verification recommended | ||
| #2438 | Dynamic Text Field For Contact Form 7 | 67 | 20 | 7 | 1k+ | Unsafe printing function | ||
| #2439 | Editoria11y Accessibility Checker | 67 | 69 | 55 | 1k+ | Text Domain Mismatch | ||
| #2440 | EU Cookies Bar for WordPress | 67 | 3 | 69 | 9k+ | Request data is not unslashed | ||
| #2441 | Kraken.io Image Optimizer – Compress, Convert to WebP & AVIF, Resize & Bulk Optimize | 67 | 293 | 80 | 9k+ | Text Domain Mismatch | ||
| #2442 | Leadster | 67 | 6 | 10 | 4k+ | Non-prefixed function | ||
| #2443 | Mailster Gmail Integration | 67 | 15 | 13 | 1k+ | Missing Translators Comment | ||
| #2444 | Meks Audio Player | 67 | 25 | 7 | 1k+ | Output is not escaped | ||
| #2445 | Missed Schedule Post Publisher | 67 | 11 | 10 | 7k+ | Output is not escaped | ||
| #2446 | Mosaic Gallery – Advanced Gallery | 67 | 45 | 79 | 3k+ | Non-prefixed global variable | ||
| #2447 | Printful Integration for WooCommerce | 67 | 218 | 76 | 50k+ | Text Domain Mismatch | ||
| #2448 | Product Variations Swatches for WooCommerce | 67 | 8 | 136 | 10k+ | Non-prefixed global variable | ||
| #2449 | Safelayout Elegant Icons – WordPress icons | 67 | 3 | 17 | 700 | Input is not validated | ||
| #2450 | Simple HTTPS | 67 | 17 | 13 | 400 | Output is not escaped |