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 |
|---|---|---|---|---|---|---|---|---|
| #1551 | Error Log Viewer by BestWebSoft | 58 | 433 | 172 | 6k+ | Text Domain Mismatch | ||
| #1552 | Gutenverse Form – Contact Form Builder, Block Form & Booking Form | 58 | 17 | 48 | 10k+ | Nonce verification recommended | ||
| #1553 | Houzez WooCommerce Addon | 58 | 22 | 21 | 4k+ | Missing Translators Comment | ||
| #1554 | Menu Swapper | 58 | 20 | 14 | 3k+ | Output is not escaped | ||
| #1555 | Ultimate Member – Online Users | 58 | 25 | 4 | 3k+ | Output is not escaped | ||
| #1556 | Videopack | 58 | 28 | 108 | 10k+ | Input is not sanitized | ||
| #1557 | Wettervorhersage | 58 | 49 | 7 | 1k+ | Output is not escaped | ||
| #1558 | Blog Designer | 59 | 62 | 83 | 10k+ | Text Domain Mismatch | ||
| #1559 | GravityWP – Merge Tags | 59 | 16 | 172 | 2k+ | Non-prefixed global variable | ||
| #1560 | MapGeo – Interactive Geo Maps | 59 | 14 | 51 | 40k+ | Non-prefixed hook name | ||
| #1561 | JetSticky For Elementor | 59 | 13 | 38 | 30k+ | Nonce verification recommended | ||
| #1562 | Lazy Loader | 59 | 6 | 24 | 9k+ | Nonce verification recommended | ||
| #1563 | Simplelightbox | 59 | 32 | 4 | 1k+ | Output is not escaped | ||
| #1564 | Super Progressive Web Apps | 59 | 62 | 22 | 40k+ | wp function not compatible with requires wp | ||
| #1565 | Typebot | 59 | 17 | 9 | 3k+ | Output is not escaped | ||
| #1566 | Payment Gateway for LiqPay for Woocommerce | 59 | 84 | 31 | 1k+ | Text Domain Mismatch | ||
| #1567 | WooReer | 59 | 44 | 4 | 1k+ | Exception output is not escaped | ||
| #1568 | Hide Posts | 59 | 9 | 70 | 20k+ | Direct Query | ||
| #1569 | Ultimate Gift Cards for WooCommerce | 59 | 3 | 448 | 7k+ | Non-prefixed global variable | ||
| #1570 | Variation Swatches for WooCommerce | 59 | 11 | 64 | 300k+ | Non-prefixed global variable | ||
| #1571 | RevivePress – Keep your Old Content Evergreen | 59 | 27 | 46 | 5k+ | date date | ||
| #1572 | Disable Emails | 60 | 25 | 16 | 30k+ | Short PHP open tag found | ||
| #1573 | Discount Rules for WooCommerce – Disco | Dynamic Pricing, Conditions, Bulk, Bundle, BOGO | 60 | 58 | 1k+ | Request data is not unslashed | |||
| #1574 | FancyBox for WordPress | 60 | 175 | 33 | 30k+ | Text Domain Mismatch | ||
| #1575 | iubenda | All-in-one Compliance for GDPR / CCPA Cookie Consent + more | 60 | 405 | 271 | 200k+ | Text Domain Mismatch | ||
| #1576 | Mailster AmazonSES Integration | 60 | 52 | 25 | 2k+ | Missing Arg Domain | ||
| #1577 | Product Labels, Quick View, Buy Now, Pre-Orders, Frequently Bought Together & More for WooCommerce – Merchant | 60 | 11 | 740 | 10k+ | Non-prefixed global variable | ||
| #1578 | Order On Mobile for WooCommerce | 60 | 36 | 15 | 2k+ | Output is not escaped | ||
| #1579 | Post Duplicator | 60 | 33 | 24 | 200k+ | Missing direct file access protection | ||
| #1580 | Real Accessability | 60 | 21 | 9 | 1k+ | Output is not escaped | ||
| #1581 | Sales Countdown Timer | 60 | 107 | 150 | 6k+ | Missing Arg Domain | ||
| #1582 | Skyboot Custom Icons for Elementor | 60 | 90 | 8 | 200k+ | Text Domain Mismatch | ||
| #1583 | Stratum Widgets for Elementor | 60 | 66 | 366 | 20k+ | Non-prefixed global variable | ||
| #1584 | Tabby Responsive Tabs | 60 | 16 | 5 | 10k+ | Output is not escaped | ||
| #1585 | Team – Team Members Showcase Plugin | 60 | 12 | 781 | 10k+ | Non-prefixed global variable | ||
| #1586 | MultiStep Checkout for WooCommerce | 60 | 46 | 57 | 4k+ | Non Singular String Literal Text | ||
| #1587 | WP Blog Post Layouts | 60 | 36 | 249 | 10k+ | Non-prefixed global variable | ||
| #1588 | WP Bottom Menu | 60 | 74 | 52 | 20k+ | Non-prefixed hook name | ||
| #1589 | WPB Popup for Contact Form 7 – Showing Contact Form 7 Popup on Button Click | 60 | 21 | 9 | 6k+ | Output is not escaped | ||
| #1590 | GetPaid Stripe Payments | 61 | 206 | 44 | 2k+ | Text Domain Mismatch | ||
| #1591 | Media Library Helper — Bulk edit image ALT, caption & description | 61 | 16 | 70 | 10k+ | Non-prefixed global variable | ||
| #1592 | Reorder Posts – Quick Post Type and Page Ordering | 61 | 10 | 23 | 10k+ | Request data is not unslashed | ||
| #1593 | Slider Factory | 61 | 3 | 414 | 2k+ | Non-prefixed global variable | ||
| #1594 | HuCommerce | Magyar kiegészítések WooCommerce webáruházakhoz | 61 | 17 | 194 | 10k+ | Non-prefixed function | ||
| #1595 | Food Menu – Restaurant Menu & Online Ordering for WooCommerce | 61 | 16 | 1,167 | 3k+ | Non-prefixed global variable | ||
| #1596 | Checkout Countdown for WooCommerce – Boost Conversions & Reduce Cart Abandonment | 62 | 43 | 12 | 4k+ | Output is not escaped | ||
| #1597 | Custom Permalink Editor | 62 | 4 | 51 | 3k+ | Non-prefixed hook name | ||
| #1598 | Custom Sidebars by ProteusThemes | 62 | 17 | 23 | 1k+ | Missing nonce verification | ||
| #1599 | Disable Visual Editor WYSIWYG | 62 | 10 | 12 | 1k+ | Nonce verification recommended | ||
| #1600 | exovia GDPR Google Maps | 62 | 40 | 6 | 4k+ | Output is not escaped |