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 | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #2401 | Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages | 62 | 81 | 100 | 40k+ | Missing direct file access protection | ||
| #2402 | Devices for Elementor | 62 | 22 | 13 | 400 | Output is not escaped | ||
| #2403 | Genesis Accessible | 62 | 49 | 17 | 500 | Text Domain Mismatch | ||
| #2404 | Hestia Nginx Cache | 62 | 21 | 8 | 1k+ | Output is not escaped | ||
| #2405 | Import entries for Gravity Forms | 62 | 6 | 26 | 500 | Input is not validated | ||
| #2406 | payOS | 62 | 19 | 26 | 500 | Request data is not unslashed | ||
| #2407 | Proofreading | 62 | 11 | 74 | 5k+ | Direct Query | ||
| #2408 | Easy SSL Plugin for SAKURA Rental Server | 62 | 23 | 17 | 50k+ | Input is not sanitized | ||
| #2409 | SEO Image Toolbox | 62 | 19 | 14 | 1k+ | Output is not escaped | ||
| #2410 | WooCommerce Product Fees | 62 | 6 | 25 | 2k+ | Missing nonce verification | ||
| #2411 | Email Post Changes | 63 | 43 | 8 | 500 | Missing Arg Domain | ||
| #2412 | IndexNow Plugin | 63 | 14 | 91 | 100k+ | error log error log | ||
| #2413 | Mailster Google Analytics | 63 | 26 | 9 | 900 | Output is not escaped | ||
| #2414 | PayPing Gateway For Woocommerce | 63 | 11 | 40 | 1k+ | Non-prefixed hook name | ||
| #2415 | WPC Variation Bulk Editor for WooCommerce | 63 | 13 | 32 | 1k+ | Request data is not unslashed | ||
| #2416 | Admin CSS MU | 64 | 30 | 582 | 10k+ | Non-prefixed global variable | ||
| #2417 | Beautiful taxonomy filters | 64 | 38 | 78 | 2k+ | Non-prefixed global variable | ||
| #2418 | ELEX WooCommerce Product Price Custom Text (Before & After Text) and Discount | 64 | 444 | 137 | 2k+ | Missing Arg Domain | ||
| #2419 | Evermore | 64 | 8 | 12 | 1k+ | Input is not validated | ||
| #2420 | Online Payments with iK Pay Gateway | 64 | 12 | 28 | 1k+ | Missing nonce verification | ||
| #2421 | Master Post Advert | 64 | 26 | 4 | 1k+ | Unsafe printing function | ||
| #2422 | Product Import Export for WooCommerce – Import Export Product CSV Suite | 64 | 246 | 766 | 80k+ | Non-prefixed global variable | ||
| #2423 | Stancer for WooCommerce | 64 | 2 | 108 | 400 | Non-prefixed global variable | ||
| #2424 | WProofreader spell & grammar check plugin for WordPress | 64 | 12 | 43 | 4k+ | Non-prefixed global variable | ||
| #2425 | JTL-Connector for WooCommerce | 64 | 7 | 166 | 1k+ | Direct Query | ||
| #2426 | WPC Shop as a Customer for WooCommerce | 64 | 5 | 38 | 400 | Request data is not unslashed | ||
| #2427 | Яндекс.ПДС Пингер / Yandex Site search pinger | 64 | 21 | 5 | 800 | Output is not escaped | ||
| #2428 | Custom Product Tabs for WooCommerce WP All Import Add-on | 65 | 18 | 18 | 1k+ | Non-prefixed global variable | ||
| #2429 | Disable REST API | 65 | 12 | 15 | 80k+ | Output is not escaped | ||
| #2430 | QRCode | 65 | 21 | 39 | 400 | Non-prefixed constant | ||
| #2431 | WP All Import – Import SEO Settings for All In One SEO | 65 | 19 | 11 | 900 | Output is not escaped | ||
| #2432 | Integration for Elementor forms – Sendinblue | 65 | 94 | 56 | 7k+ | Text Domain Mismatch | ||
| #2433 | Notibar – Notification Bar for WordPress | 65 | 43 | 62 | 8k+ | wp function not compatible with requires wp | ||
| #2434 | Redirect 404 to Home Page – Custom URL | 65 | 7 | 11 | 4k+ | Output is not escaped | ||
| #2435 | WebberZone Top 10 — Popular Posts | 65 | 37 | 179 | 10k+ | Database parameter is not escaped | ||
| #2436 | User Last Login | 65 | 27 | 5 | 600 | Output is not escaped | ||
| #2437 | Web and WooCommerce Addons for WPBakery Builder | 65 | 497 | 123 | 1k+ | Text Domain Mismatch | ||
| #2438 | WPC Free Gift Coupons for WooCommerce | 65 | 8 | 25 | 400 | Non-prefixed class | ||
| #2439 | ACF: Rus-To-Lat | 66 | 15 | 11 | 2k+ | Output is not escaped | ||
| #2440 | CP Media Player – Audio Player and Video Player | 66 | 224 | 48 | 3k+ | Text Domain Mismatch | ||
| #2441 | WPAdmin AWS CDN | 66 | 161 | 42 | 500 | Text Domain Mismatch | ||
| #2442 | Bopo – WooCommerce Product Bundle Builder | 66 | 137 | 135 | 1k+ | Text Domain Mismatch | ||
| #2443 | Custom Posts Per Page | 66 | 20 | 2 | 900 | Unsafe printing function | ||
| #2444 | Duplicate Menu | 66 | 11 | 7 | 100k+ | Unsafe printing function | ||
| #2445 | IranDargah Payment Gateway for Woocommerce | 66 | 66 | 26 | 400 | Text Domain Mismatch | ||
| #2446 | Raw HTML | 66 | 17 | 35 | 10k+ | Non-prefixed function | ||
| #2447 | Really Simple CSV Importer | 66 | 38 | 8 | 40k+ | Output is not escaped | ||
| #2448 | Safe Redirect Manager | 66 | 9 | 60 | 40k+ | Non-prefixed hook name | ||
| #2449 | Shortcode for Current Date | 66 | 27 | 12 | 10k+ | Text Domain Mismatch | ||
| #2450 | Video Popup for Elementor – WPTD | 66 | 33 | 13 | 1k+ | Output is not escaped |