WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
Non-prefixed global variable
The plugin defines a global variable 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 global variable 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 |
|---|---|---|---|---|---|---|---|---|
| #4701 | WP Telegram Login & Register | 95 | 11 | 21 | 1k+ | Non-prefixed global variable | ||
| #4702 | WP Telegram Widget and Join Link | 95 | 13 | 18 | 4k+ | Missing direct file access protection | ||
| #4703 | YLabs Connector for WPWriter | 95 | 5 | 7 | 900 | Forbidden PHP function found | ||
| #4704 | WebberZone Snippetz – Header, Body and Footer manager | 96 | 1 | 53 | 2k+ | Dynamic hook name | ||
| #4705 | Addonify – Quick View For WooCommerce | 96 | 15 | 21 | 1k+ | Non-prefixed global variable | ||
| #4706 | Directorist AddonsKit for Elementor | 96 | 4 | 33 | 10k+ | Non-prefixed global variable | ||
| #4707 | Admin Page Spider | 96 | 10 | 27 | 1k+ | Non-prefixed global variable | ||
| #4708 | Portfolio Grid – Filterable Gallery, Grid & Slider Showcase | 96 | 3 | 50 | 900 | Non-prefixed function | ||
| #4709 | AffiliateX – Amazon Affiliate Plugin, Product Boxes, Comparison Tables & Affiliate Link Tracking | 96 | 73 | 10k+ | Non-prefixed global variable | |||
| #4710 | AI Bud – AI Content Generator, AI Chatbot, ChatGPT, Gemini, GPT-4o | 96 | 5 | 54 | 2k+ | Non-prefixed global variable | ||
| #4711 | Analytify – Dashboard Widget for Google Analytics | 96 | 21 | 12 | 10k+ | wp function not compatible with requires wp | ||
| #4712 | Transient Cleaner | 96 | 3 | 64 | 1k+ | Non-prefixed global variable | ||
| #4713 | Auto Delete Applications – Add-on for WP Job Openings | 96 | 19 | 14 | 1k+ | Text Domain Mismatch | ||
| #4714 | Pricing Table – Block – Show Product or Service Pricing in Table Format | 96 | 6 | 2k+ | Non-prefixed global variable | |||
| #4715 | Bit SMTP – Easy SMTP Solution with Email Logs | 96 | 6 | 13 | 2k+ | Missing Version | ||
| #4716 | Block Patterns for Food Bloggers | 96 | 21 | 14 | 800 | Missing direct file access protection | ||
| #4717 | Booktics – Booking Calendar for Appointments and Service Businesses | 96 | 29 | 7 | 700 | wp function not compatible with requires wp | ||
| #4718 | Bulk Datetime Change | 96 | 3 | 18 | 6k+ | Non-prefixed global variable | ||
| #4719 | Button Generator – Easily Create Custom Buttons with Icons and Analytics | 96 | 8 | 68 | 5k+ | Non-prefixed global variable | ||
| #4720 | Carousel Slider Block for Gutenberg | 96 | 48 | 12 | 40k+ | Text Domain Mismatch | ||
| #4721 | Cookie Wow PDPA Banner | 96 | 7 | 6 | 1k+ | Missing direct file access protection | ||
| #4722 | Custom Fields Permalink 2 | 96 | 4 | 9 | 500 | Non-prefixed global variable | ||
| #4723 | Easy Footnotes | 96 | 6 | 22 | 8k+ | Non-prefixed global variable | ||
| #4724 | Easy Hide Admin Menu Items | 96 | 43 | 11 | 1k+ | Text Domain Mismatch | ||
| #4725 | Elements Plus! | 96 | 11 | 20 | 6k+ | Non-prefixed function | ||
| #4726 | Enable SVG, WebP, and ICO Upload | 96 | 12 | 16 | 10k+ | Non-prefixed global variable | ||
| #4727 | Events Tracker for Elementor | 96 | 4 | 10 | 10k+ | Non-prefixed constant | ||
| #4728 | Fixed Bottom Menu | 96 | 15 | 45 | 5k+ | Non-prefixed hook name | ||
| #4729 | Shipping Live Rates for FedEx for WooCommerce | 96 | 4 | 10 | 2k+ | Non-prefixed global variable | ||
| #4730 | Shipping Live Rates for USPS for WooCommerce | 96 | 4 | 11 | 2k+ | Non-prefixed global variable | ||
| #4731 | Float menu – awesome floating side menu | 96 | 9 | 103 | 30k+ | Non-prefixed global variable | ||
| #4732 | Force Refresh | 96 | 15 | 13 | 4k+ | Missing direct file access protection | ||
| #4733 | Fresh Forms for Gravity | 96 | 7 | 6 | 3k+ | Non-prefixed constant | ||
| #4734 | Hide WordPress Version | 96 | 5 | 4 | 400 | trademarked term | ||
| #4735 | Image Size Selection for Divi | 96 | 60 | 3 | 500 | Text Domain Mismatch | ||
| #4736 | Kit (formerly ConvertKit) for WPForms | 96 | 11 | 16 | 1k+ | Non-prefixed global variable | ||
| #4737 | Menu Cart Divi | 96 | 26 | 9 | 1k+ | Text Domain Mismatch | ||
| #4738 | WP OAuth Server ( Login with WordPress ) | 96 | 26 | 9 | 1k+ | wp function not compatible with requires wp | ||
| #4739 | Divi Masonry Gallery – Pro Gallery | 96 | 54 | 16 | 2k+ | Text Domain Mismatch | ||
| #4740 | Permalink Trailing Slash Fixer | 96 | 4 | 2 | 700 | Missing direct file access protection | ||
| #4741 | Plugins Condition | 96 | 3 | 30 | 1k+ | Non-prefixed global variable | ||
| #4742 | QODE Variation Swatches for WooCommerce | 96 | 1 | 87 | 1k+ | Non-prefixed global variable | ||
| #4743 | Widgets for Airbnb Reviews | 96 | 349 | 6k+ | Non-prefixed global variable | |||
| #4744 | Widgets for Amazon Reviews | 96 | 352 | 2k+ | Non-prefixed global variable | |||
| #4745 | Widgets for Yelp Reviews | 96 | 349 | 2k+ | Non-prefixed global variable | |||
| #4746 | Simple GDPR Cookie Compliance | 96 | 10 | 16 | 5k+ | Non-prefixed global variable | ||
| #4747 | ThemeZee Magazine Blocks | 96 | 8 | 51 | 4k+ | Non-prefixed global variable | ||
| #4748 | Top Level Categories | 96 | 5 | 1 | 2k+ | Missing direct file access protection | ||
| #4749 | Product Category Showcase for WooCommerce | 96 | 8 | 45 | 1k+ | Non-prefixed global variable | ||
| #4750 | Display Eventbrite Events | 96 | 31 | 3k+ | error log print r |