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 |
|---|---|---|---|---|---|---|---|---|
| #2601 | Add link on copied text | 79 | 11 | 3 | 400 | Output is not escaped | ||
| #2602 | Klaviyo | 79 | 26 | 86 | 100k+ | Non-prefixed function | ||
| #2603 | Oxyplug Preload | 79 | 7 | 9 | 500 | Output is not escaped | ||
| #2604 | Flutterwave Payments | 79 | 8 | 39 | 600 | Non-prefixed global variable | ||
| #2605 | Remove Category URL – Remove 'category' base from category permalinks | 79 | 5 | 8 | 50k+ | Missing direct file access protection | ||
| #2606 | SSH SFTP Updater Support | 79 | 6 | 31 | 10k+ | Non-prefixed global variable | ||
| #2607 | SureMail – SMTP and Email Logs Plugin with Amazon SES, Postmark, and Other Providers | 79 | 45 | 66 | 200k+ | Non-prefixed hook name | ||
| #2608 | WooCommerce Grid / List toggle | 79 | 10 | 12 | 10k+ | Output is not escaped | ||
| #2609 | WPC Additional Variation Images for WooCommerce | 79 | 4 | 26 | 800 | Non-prefixed class | ||
| #2610 | Yandex Mail | 79 | 16 | 4 | 400 | Non Singular String Literal Domain | ||
| #2611 | YITH Maintenance Mode | 79 | 19 | 63 | 5k+ | Non-prefixed global variable | ||
| #2612 | Elementor Blocks for Gutenberg | 80 | 7 | 6 | 10k+ | Output is not escaped | ||
| #2613 | Cost Calculator for Elementor | 80 | 223 | 17 | 500 | wp function not compatible with requires wp | ||
| #2614 | Custom Icons for Elementor | 80 | 6 | 25 | 10k+ | Non-prefixed global variable | ||
| #2615 | Flipbox | 80 | 14 | 17 | 2k+ | wp function not compatible with requires wp | ||
| #2616 | Post Carousel Addons For Elementor | 80 | 9 | 8 | 1k+ | Output is not escaped | ||
| #2617 | WP Video Popup – WordPress Video Lightbox for YouTube, Rumble & Vimeo | 80 | 5 | 14 | 9k+ | wp function not compatible with requires wp | ||
| #2618 | Nexter Blocks – Gutenberg Blocks, Page Builder & AI Website Builder | 80 | 94 | 732 | 10k+ | Non-prefixed global variable | ||
| #2619 | Trust Payments Gateway for WooCommerce | 80 | 15 | 17 | 400 | Non-prefixed class | ||
| #2620 | Melapress File Monitor | 80 | 16 | 90 | 6k+ | Non-prefixed global variable | ||
| #2621 | GoCardless for WooCommerce | 80 | 60 | 1k+ | Non-prefixed class | |||
| #2622 | Gift Wrapper for WooCommerce | 80 | 111 | 125 | 2k+ | Text Domain Mismatch | ||
| #2623 | Advanced Image Hover Effect for Elementor | 81 | 251 | 8 | 1k+ | Text Domain Mismatch | ||
| #2624 | Great Restaurant Menu WP | 81 | 89 | 100 | 1k+ | Text Domain Mismatch | ||
| #2625 | Bulky – Bulk Edit Products for WooCommerce | 81 | 3 | 21 | 10k+ | Non-prefixed hook name | ||
| #2626 | Countdown Block | 81 | 14 | 10 | 4k+ | wp function not compatible with requires wp | ||
| #2627 | Disable Post Revision | 81 | 6 | 3 | 3k+ | Output is not escaped | ||
| #2628 | ElasticPress | 81 | 13 | 655 | 8k+ | Non-prefixed hook name | ||
| #2629 | Fullwidth Templates for Any Theme & Page Builder | 81 | 12 | 23 | 20k+ | Non-prefixed constant | ||
| #2630 | GSheetConnector for Elementor Forms – Sync Elementor Forms to Google Sheets | 81 | 11 | 12 | 9k+ | Non-prefixed global variable | ||
| #2631 | LottieFiles – JSON Based Animation Lottie & Bodymovin for Elementor | 81 | 162 | 9 | 3k+ | Text Domain Mismatch | ||
| #2632 | Info Cards – Add Text and Media in Card Layouts | 81 | 7 | 25 | 2k+ | Non-prefixed namespace | ||
| #2633 | GIFTiT – Free Gifts for WooCommerce | 81 | 43 | 357 | 2k+ | Non-prefixed global variable | ||
| #2634 | Order Approval for Woocommerce | 81 | 3 | 208 | 1k+ | Non-prefixed global variable | ||
| #2635 | Payfast Gateway for WooCommerce | 81 | 2 | 18 | 2k+ | Missing nonce verification | ||
| #2636 | Price Table Block | 81 | 15 | 16 | 900 | file system operations mkdir | ||
| #2637 | Progress Bars | 81 | 15 | 14 | 500 | file system operations mkdir | ||
| #2638 | Select and Multi-Select Field for Contact Form 7 | 81 | 25 | 12 | 2k+ | Text Domain Mismatch | ||
| #2639 | Team Member Block | 81 | 15 | 14 | 1k+ | file system operations mkdir | ||
| #2640 | Telephone field for Gravity Forms | 81 | 124 | 9 | 400 | wp function not compatible with requires wp | ||
| #2641 | Timed Content For Beaver Builder | 81 | 29 | 8 | 1k+ | date date | ||
| #2642 | Toggle Content | 81 | 16 | 12 | 700 | file system operations mkdir | ||
| #2643 | Typing Text | 81 | 15 | 16 | 600 | file system operations mkdir | ||
| #2644 | Appointment Bookings for Zoom GoogleMeet and more – Wappointment | 81 | 22 | 52 | 1k+ | Non-prefixed class | ||
| #2645 | Bulk Order Form for WooCommerce | 81 | 8 | 98 | 900 | Non-prefixed hook name | ||
| #2646 | ShipStation for WooCommerce | 81 | 34 | 40k+ | Non-prefixed class | |||
| #2647 | WP Events Manager WooCommerce | 81 | 20 | 10 | 1k+ | Text Domain Mismatch | ||
| #2648 | Accordion Toggle | 82 | 17 | 11 | 2k+ | Non-prefixed class | ||
| #2649 | Catch Gallery | 82 | 1 | 35 | 10k+ | Non-prefixed hook name | ||
| #2650 | Clean Image Filenames | 82 | 6 | 1 | 30k+ | Output is not escaped |