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 |
|---|---|---|---|---|---|---|---|---|
| #2501 | Cart All In One For WooCommerce | 70 | 6 | 150 | 5k+ | Non-prefixed global variable | ||
| #2502 | Bold Timeline Lite | 71 | 220 | 561 | 10k+ | Non-prefixed global variable | ||
| #2503 | Comfortable Reading | 71 | 16 | 8 | 2k+ | Output is not escaped | ||
| #2504 | commonWP | 71 | 18 | 33 | 400 | Non-prefixed hook name | ||
| #2505 | Nginx Helper | 71 | 47 | 60 | 200k+ | Non-prefixed global variable | ||
| #2506 | Print Bangla News | 71 | 29 | 17 | 2k+ | Output is not escaped | ||
| #2507 | Privyr CRM – Instant Lead Alerts for Contact Forms | 71 | 2 | 25 | 4k+ | Non-prefixed function | ||
| #2508 | Discount Rules for WooCommerce | 71 | 10 | 454 | 100k+ | Non-prefixed global variable | ||
| #2509 | Multi-Step Checkout for WooCommerce | 71 | 38 | 104 | 8k+ | Non-prefixed global variable | ||
| #2510 | Web Accessibility by accessiBe | 72 | 1 | 25 | 10k+ | Input is not sanitized | ||
| #2511 | Advanced WordPress Backgrounds | 72 | 21 | 7 | 30k+ | Output is not escaped | ||
| #2512 | Click to top | 72 | 22 | 8 | 2k+ | Output is not escaped | ||
| #2513 | EU Order Withdrawal Button for WooCommerce | 72 | 52 | 406 | 4k+ | Non-prefixed hook name | ||
| #2514 | Advanced Datepicker – Restricts Date for Contact Form 7 | 72 | 228 | 11 | 400 | wp function not compatible with requires wp | ||
| #2515 | Shipping Rate By Cities | 72 | 4 | 21 | 700 | Direct Query | ||
| #2516 | Templ Optimizer | 72 | 6 | 63 | 1k+ | Direct Query | ||
| #2517 | Ultimate Member Custom Tab Builder Lite | 72 | 12 | 15 | 500 | Output is not escaped | ||
| #2518 | Product Subtitle For WooCommerce | 72 | 6 | 36 | 3k+ | Non-prefixed namespace | ||
| #2519 | ShinyStat Widget | 72 | 14 | 2 | 800 | Output is not escaped | ||
| #2520 | AffiliateWP – Allowed Products | 73 | 47 | 19 | 1k+ | Text Domain Mismatch | ||
| #2521 | BuddyPress Activity Shortcode | 73 | 9 | 14 | 2k+ | Non-prefixed hook name | ||
| #2522 | EXMAGE – WordPress Image Links | 73 | 14 | 34 | 7k+ | Missing Arg Domain | ||
| #2523 | Genesis Widget Column Classes | 73 | 41 | 4 | 5k+ | Non Singular String Literal Domain | ||
| #2524 | jQuery Lightbox For Native Galleries | 73 | 26 | 7 | 4k+ | Text Domain Mismatch | ||
| #2525 | Meks Easy Ads Widget | 73 | 21 | 9 | 10k+ | Output is not escaped | ||
| #2526 | NETOPIA Payments Payment Gateway | 73 | 3 | 31 | 10k+ | Missing nonce verification | ||
| #2527 | PDF viewer for Elementor & Gutenberg | 73 | 14 | 12 | 10k+ | Nonce verification recommended | ||
| #2528 | Remove Taxonomy URL | 73 | 17 | 16 | 1k+ | Output is not escaped | ||
| #2529 | Server-Side Cache AutoPurge | 73 | 16 | 17 | 10k+ | Text Domain Mismatch | ||
| #2530 | Simple Image Popup | 73 | 21 | 5 | 1k+ | Output is not escaped | ||
| #2531 | WC Order Test | 73 | 8 | 9 | 6k+ | Output is not escaped | ||
| #2532 | WPWaterMark 轻水印插件 | 73 | 24 | 17 | 900 | Request data is not unslashed | ||
| #2533 | Admin Columns for ACF Fields | 74 | 7 | 8 | 9k+ | Output is not escaped | ||
| #2534 | Append Link on Copy | 74 | 23 | 5 | 800 | Output is not escaped | ||
| #2535 | Bangla Date Display | 74 | 44 | 7 | 4k+ | Text Domain Mismatch | ||
| #2536 | Bing URL Submissions Plugin | 74 | 10 | 38 | 40k+ | error log error log | ||
| #2537 | Code Snippet DM | 74 | 21 | 2 | 500 | Output is not escaped | ||
| #2538 | Gravity Forms Multi Currency | 74 | 6 | 12 | 400 | Output is not escaped | ||
| #2539 | RD Station | 74 | 65 | 20k+ | Non-prefixed global variable | |||
| #2540 | Keon Toolset | 74 | 4 | 28 | 30k+ | Non-prefixed function | ||
| #2541 | Markup Markdown | 74 | 18 | 128 | 2k+ | Non-prefixed global variable | ||
| #2542 | Post Grid Addon for Elementor | 74 | 16 | 13 | 10k+ | Missing direct file access protection | ||
| #2543 | Post My CF7 Form | 74 | 21 | 168 | 2k+ | Non-prefixed global variable | ||
| #2544 | WP All Import – Property Import for RealHomes | 74 | 17 | 12 | 700 | Output is not escaped | ||
| #2545 | WP API SwaggerUI | 74 | 14 | 20 | 2k+ | Missing direct file access protection | ||
| #2546 | Conditional Logic Emails, Fields, Redirect for Elementor Forms | 75 | 312 | 31 | 2k+ | wp function not compatible with requires wp | ||
| #2547 | Custom Adobe Fonts (Typekit) | 75 | 11 | 33 | 60k+ | Non-prefixed global variable | ||
| #2548 | Customize Twenty Seventeen | 75 | 33 | 19 | 2k+ | Text Domain Mismatch | ||
| #2549 | Customize Twenty Sixteen | 75 | 32 | 11 | 500 | Text Domain Mismatch | ||
| #2550 | Easy Accordion – AI-Powered FAQ & Accordion Blocks, Product FAQ | 75 | 306 | 70k+ | Non-prefixed global variable |