WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound
Non-prefixed class
The plugin defines a class without a plugin-specific prefix.
Why It Shows Up
WordPress loads many plugins in the same PHP runtime. Plugin Check found a global symbol or hook name that is not clearly namespaced to this plugin.
Why It Matters
Unprefixed globals can collide with WordPress core, themes, or other plugins, causing fatal errors, overwritten values, or handlers running in the wrong context.
How to Fix
- Choose a short, unique prefix or namespace based on the plugin slug or vendor name.
- Rename the class so it cannot collide with code from another plugin.
- For public hooks, document the final hook name and keep it stable after release.
References
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Updated | Top Issue |
|---|---|---|---|---|---|---|---|
| #951 | Currency per Product for WooCommerce | 35 | 15 | 16 | 2k+ | Non Prefixed Variable Found | |
| #952 | Custom CSS and JavaScript | 35 | 38 | 91 | 10k+ | Input Not Sanitized | |
| #953 | Wbcom Designs – Custom Font Uploader | 35 | 340 | 123 | 3k+ | Text Domain Mismatch | |
| #954 | Custom Order Numbers for WooCommerce | 35 | 5 | 54 | 20k+ | Non Prefixed Hookname Found | |
| #955 | Custom Order Status for WooCommerce | 35 | 20 | 60 | 10k+ | Non Prefixed Hookname Found | |
| #956 | Deposits & Partial Payments for WooCommerce | 35 | 172 | 144 | 5k+ | Text Domain Mismatch | |
| #957 | Nexi Checkout | 35 | 45 | 311 | 3k+ | Dynamic Hookname Found | |
| #958 | PiWeb Disable payment method / Partial payment for WooCommerce | 35 | 55 | 221 | 4k+ | Non Prefixed Class Found | |
| #959 | Disable XML-RPC-API | 35 | 444 | 52 | 100k+ | Text Domain Mismatch | |
| #960 | DOOFINDER Search and Discovery for WP & WooCommerce | 35 | 151 | 120 | 3k+ | Text Domain Mismatch | |
| #961 | Elementor Website Builder – more than just a page builder | 35 | 46 | 428 | 10m+ | Non Prefixed Variable Found | |
| #962 | AI Popup Builder & Popup Maker by OptiMonk | 35 | 81 | 65 | 4k+ | Text Domain Mismatch | |
| #963 | Flexible PDF Invoices for WooCommerce & WordPress | 35 | 15 | 55 | 6k+ | Non Prefixed Variable Found | |
| #964 | Events Calendar by FooEvents | 35 | 56 | 59 | 4k+ | Non Prefixed Variable Found | |
| #965 | Force Regenerate Thumbnails | 35 | 12 | 17 | 200k+ | unlink unlink | |
| #966 | Form Input Masks For Elementor Forms | 35 | 3 | 2 | 10k+ | Non Prefixed Class Found | |
| #967 | Friendly Captcha for WordPress | 35 | 192 | 62 | 9k+ | Output Not Escaped | |
| #968 | Frontend Reset Password | 35 | 83 | 128 | 10k+ | Text Domain Mismatch | |
| #969 | GDPR Compliance & Cookie Consent | 35 | 251 | 61 | 4k+ | Output Not Escaped | |
| #970 | Gum Addon for Elementor | 35 | 660 | 72 | 50k+ | Text Domain Mismatch | |
| #971 | Ultimate Addons for Elementor | 35 | 70 | 226 | 2m+ | Non Prefixed Hookname Found | |
| #972 | Health Check & Troubleshooting | 35 | 264 | 238 | 300k+ | Missing Arg Domain | |
| #973 | HookMeUp for WooCommerce | 35 | 59 | 29 | 10k+ | Output Not Escaped | |
| #974 | Image Widget | 35 | 165 | 31 | 100k+ | Output Not Escaped | |
| #975 | Japanese font for WordPress(Previously: Japanese Font for TinyMCE) | 35 | 11 | 37 | 10k+ | Non Prefixed Variable Found | |
| #976 | Nobs • Share Buttons | 35 | 314 | 85 | 3k+ | Output Not Escaped | |
| #977 | Kaya QR Code Generator | 35 | 193 | 40 | 20k+ | Non Singular String Literal Domain | |
| #978 | KBoard 위젯 – 워드프레스 게시판 | 35 | 53 | 32 | 3k+ | Output Not Escaped | |
| #979 | Kustom Checkout for WooCommerce | 35 | 82 | 497 | 10k+ | Dynamic Hookname Found | |
| #980 | Klarna Order Management for WooCommerce | 35 | 22 | 37 | 10k+ | Non Prefixed Hookname Found | |
| #981 | Lead Call Buttons | 35 | 113 | 81 | 6k+ | Output Not Escaped | |
| #982 | Less PHP Compiler | 35 | 163 | 47 | 3k+ | Exception Not Escaped | |
| #983 | Login-Logout | 35 | 104 | 8 | 3k+ | Output Not Escaped | |
| #984 | Magical Addons For Elementor ( Header Footer Builder, Free Elementor Widgets, Elementor Templates Library ) | 35 | 273 | 127 | 5k+ | Output Not Escaped | |
| #985 | Mechanic Visitor Counter | 35 | 240 | 66 | 8k+ | Output Not Escaped | |
| #986 | My Eyes Are Up Here | 35 | 7 | 12 | 2k+ | Missing | |
| #987 | myPOS Checkout | 35 | 151 | 8 | 4k+ | Text Domain Mismatch | |
| #988 | Order Delivery Date for WooCommerce | 35 | 2,060 | 73 | 10k+ | wp function not compatible with requires wp | |
| #989 | Orderable – Restaurant & Food Ordering System | 35 | 12 | 324 | 5k+ | Non Prefixed Variable Found | |
| #990 | OT Flatsome Vertical Menu | 35 | 126 | 26 | 10k+ | Text Domain Mismatch | |
| #991 | Pearl – Header Builder | 35 | 7 | 283 | 5k+ | Non Prefixed Variable Found | |
| #992 | Pochipp | 35 | 27 | 102 | 20k+ | Non Prefixed Variable Found | |
| #993 | Product Input Fields for WooCommerce | 35 | 18 | 84 | 4k+ | Non Prefixed Function Found | |
| #994 | Flutterwave WooCommerce | 35 | 7 | 20 | 2k+ | Non Prefixed Class Found | |
| #995 | ReactPress – Create React App for WordPress | 35 | 26 | 43 | 3k+ | Missing Unslash | |
| #996 | Remove Dashboard Access | 35 | 16 | 23 | 30k+ | wp function not compatible with requires wp | |
| #997 | Reveal IDs | 35 | 23 | 13 | 40k+ | Output Not Escaped | |
| #998 | RICG Responsive Images | 35 | 29 | 25 | 2k+ | wp function not compatible with requires wp | |
| #999 | s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions | 35 | 24 | 5 | 8k+ | missing direct file access protection | |
| #1000 | FlexTable – Data Table Sync with Google Sheets | 35 | 20 | 78 | 4k+ | Direct Query |