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 |
|---|---|---|---|---|---|---|---|---|
| #2751 | Invoice Payment Gateway for WooCommerce | 87 | 5 | 4 | 2k+ | Output is not escaped | ||
| #2752 | Coupon Box for WooCommerce | 87 | 11 | 85 | 1k+ | Non-prefixed global variable | ||
| #2753 | Related Products – Create Upsells, Cross-sells, and Product Recommendations for WooCommerce | 87 | 79 | 446 | 10k+ | Non-prefixed global variable | ||
| #2754 | Autocomplete Location Field for Contact Form 7 | 88 | 3 | 9 | 1k+ | Missing nonce verification | ||
| #2755 | Catch IDs | 88 | 16 | 20k+ | Non-prefixed global variable | |||
| #2756 | Content Control – The Ultimate Content Restriction Plugin! Restrict Content, Create Conditional Blocks & More | 88 | 20 | 116 | 40k+ | Non-prefixed hook name | ||
| #2757 | CPO Content Types | 88 | 13 | 25 | 3k+ | Missing direct file access protection | ||
| #2758 | 301 Redirects – Redirect Manager | 88 | 6 | 71 | 300k+ | Non-prefixed global variable | ||
| #2759 | Facebook Chat Plugin – Live Chat Plugin for WordPress | 88 | 7 | 8 | 80k+ | trademarked term | ||
| #2760 | WPCode – Insert Headers and Footers + Custom Code Snippets – WordPress Code Manager | 88 | 27 | 33 | 3m+ | wp function not compatible with requires wp | ||
| #2761 | SimpleMaps | 88 | 81 | 19 | 600 | wp function not compatible with requires wp | ||
| #2762 | Lightbox with PhotoSwipe | 88 | 1 | 24 | 20k+ | Non-prefixed global variable | ||
| #2763 | Minimal Coming Soon – Coming Soon Page | 88 | 7 | 143 | 100k+ | Non-prefixed global variable | ||
| #2764 | WPS Bookings for WooCommerce | 88 | 26 | 249 | 4k+ | Non-prefixed global variable | ||
| #2765 | Repeat Order for WooCommerce | 88 | 19 | 9 | 3k+ | Text Domain Mismatch | ||
| #2766 | Responsive Slick Slider WordPress | 88 | 3 | 131 | 500 | Non-prefixed global variable | ||
| #2767 | Smart Blocks – WordPress Gutenberg Blocks | 88 | 10 | 76 | 1k+ | Post Not In post not in | ||
| #2768 | FlexMeeting – Webinar & Meeting Plugin for Jitsi Meet | 88 | 6 | 18 | 1k+ | Nonce verification recommended | ||
| #2769 | File Uploads Addon for WooCommerce | 88 | 8 | 15 | 5k+ | Missing direct file access protection | ||
| #2770 | WooCommerce Shortcodes | 88 | 5 | 7 | 10k+ | trademarked term | ||
| #2771 | Divi Carousel Free (Divi5 Support) | 88 | 268 | 26 | 30k+ | Text Domain Mismatch | ||
| #2772 | WPC Admin Columns | 88 | 30 | 1k+ | Direct Query | |||
| #2773 | WPC Smart Linked Products – Upsells & Cross-sells for WooCommerce | 88 | 29 | 700 | Nonce verification recommended | |||
| #2774 | Archivarix External Images Importer | 89 | 8 | 35 | 1k+ | Non-prefixed global variable | ||
| #2775 | Coupon & Discount Code Reveal Button | 89 | 37 | 10 | 1k+ | wp function not compatible with requires wp | ||
| #2776 | Leadfeeder | 89 | 2 | 3 | 2k+ | Non-prefixed class | ||
| #2777 | Cool Flipbox – Shortcode & Gutenberg Block | 89 | 29 | 10 | 5k+ | wp function not compatible with requires wp | ||
| #2778 | Loading Page with Loading Screen | 89 | 49 | 18 | 10k+ | wp function not compatible with requires wp | ||
| #2779 | MAS Elementor | 89 | 19 | 216 | 1k+ | Non-prefixed hook name | ||
| #2780 | Mediavine Control Panel | 89 | 30 | 30 | 10k+ | Text Domain Mismatch | ||
| #2781 | Open Links In New Tab | 89 | 5 | 3 | 900 | Missing direct file access protection | ||
| #2782 | Page Sidebar for Twenty Seventeen | 89 | 110 | 14 | 1k+ | Text Domain Mismatch | ||
| #2783 | PayJustNow for WooCommerce | 89 | 1 | 18 | 900 | Nonce verification recommended | ||
| #2784 | RateMyAgent Official | 89 | 1 | 158 | 400 | Non-prefixed namespace | ||
| #2785 | RT Slider | 89 | 9 | 2 | 800 | Missing direct file access protection | ||
| #2786 | Wbcom Designs – Shortcodes & Elementor Widgets For BuddyPress | 89 | 26 | 184 | 600 | Non-prefixed hook name | ||
| #2787 | SiteLock Security – WP Hardening, Login Security & Malware Scans | 89 | 44 | 9 | 1k+ | Text Domain Mismatch | ||
| #2788 | Superb Table (SEO Optimized Tables With Schema) | 89 | 44 | 12 | 2k+ | wp function not compatible with requires wp | ||
| #2789 | Széchenyi 2020 Logo | 89 | 140 | 9 | 1k+ | Text Domain Mismatch | ||
| #2790 | WP Anywhere Widgets | 89 | 16 | 14 | 700 | wp function not compatible with requires wp | ||
| #2791 | WP Database Backup – Unlimited Database & Files Backup by Backup for WP | 89 | 855 | 11 | 30k+ | Text Domain Mismatch | ||
| #2792 | WPC Smart Notifications for WooCommerce | 89 | 79 | 600 | Non-prefixed global variable | |||
| #2793 | WPC Variation Swatches for WooCommerce | 89 | 29 | 7k+ | Non-prefixed global variable | |||
| #2794 | WPGet API – Connect to any external REST API | 89 | 15 | 19 | 10k+ | Missing direct file access protection | ||
| #2795 | Vertical Timeline Widget for Elementor | 90 | 2 | 10 | 10k+ | Non-prefixed function | ||
| #2796 | Business Reviews – Display Customer Reviews from Popular Sites | 90 | 4 | 4 | 1k+ | Non-prefixed class | ||
| #2797 | Card Elements for WPBakery | 90 | 1 | 208 | 500 | Non-prefixed global variable | ||
| #2798 | Contact Form 7 Google Analytics | 90 | 6 | 5 | 7k+ | trademarked term | ||
| #2799 | Compact Archives | 90 | 8 | 14 | 2k+ | Non-prefixed function | ||
| #2800 | Conditional Blocks – Advanced Content Visibility Control for WordPress | 90 | 10 | 22 | 2k+ | Missing direct file access protection |