WordPress.NamingConventions.PrefixAllGlobals.VariableConstantNameFound
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 |
|---|---|---|---|---|---|---|---|---|
| #151 | Kits, Templates and Patterns | 29 | 380 | 91 | 5k+ | Text Domain Mismatch | ||
| #152 | MyWorks Sync for WooCommerce & Xero | 29 | 1 | 1,080 | 800 | Non-prefixed global variable | ||
| #153 | PlatiOnline Payments | 29 | 304 | 110 | 700 | Output is not escaped | ||
| #154 | User Verification by PickPlugins | 29 | 41 | 314 | 5k+ | Request data is not unslashed | ||
| #155 | aThemes Starter Sites | 30 | 262 | 195 | 40k+ | Text Domain Mismatch | ||
| #156 | Mailrelay | 30 | 318 | 170 | 1k+ | Text Domain Mismatch | ||
| #157 | Popup Builder – Create highly converting, mobile friendly marketing popups. | 30 | 26 | 722 | 200k+ | Non-prefixed global variable | ||
| #158 | Pubjet | پابجت | 30 | 91 | 172 | 1k+ | Output is not escaped | ||
| #159 | Subscriptions for WooCommerce | 30 | 1 | 1,190 | 10k+ | Non-prefixed global variable | ||
| #160 | WP 2FA – Two-factor authentication for WordPress | 30 | 269 | 380 | 100k+ | Exception output is not escaped | ||
| #161 | YayPricing – WooCommerce Dynamic Pricing & Discounts | 30 | 174 | 186 | 3k+ | Non-prefixed global variable | ||
| #162 | Gabfire Widget Pack | 31 | 1,041 | 60 | 600 | Output is not escaped | ||
| #163 | Push notification for Mobile and Web app | 31 | 87 | 83 | 400 | Non Singular String Literal Domain | ||
| #164 | Return Refund and Exchange For WooCommerce | 31 | 24 | 713 | 4k+ | Non-prefixed global variable | ||
| #165 | WP ULike – Like & Dislike Buttons for Engagement and Feedback | 31 | 269 | 358 | 60k+ | Output is not escaped | ||
| #166 | Better Robots.txt – AI-Ready Crawl Control & Bot Governance | 32 | 55 | 83 | 5k+ | error log error log | ||
| #167 | DHL eCommerce (Benelux) for WooCommerce | 32 | 222 | 330 | 2k+ | Nonce verification recommended | ||
| #168 | Extensions For CF7 (Contact form 7 Database, Conditional Fields and Redirection) | 32 | 560 | 198 | 6k+ | Text Domain Mismatch | ||
| #169 | Opal Mega Menu | 32 | 419 | 119 | 400 | Text Domain Mismatch | ||
| #170 | Autopay dla WooCommerce | 32 | 95 | 83 | 900 | Output is not escaped | ||
| #171 | WP fail2ban – Advanced Security | 32 | 75 | 153 | 60k+ | Dynamic hook name | ||
| #172 | Century ToolKit | 33 | 118 | 78 | 800 | Output is not escaped | ||
| #173 | WP GIF Uploader | 33 | 117 | 44 | 1k+ | Text Domain Mismatch | ||
| #174 | MWB HubSpot for WooCommerce – CRM, Abandoned Cart, Email Marketing, Marketing Automation & Analytics | 33 | 26 | 279 | 7k+ | Non-prefixed global variable | ||
| #175 | Membership For WooCommerce | 33 | 40 | 659 | 800 | Non-prefixed global variable | ||
| #176 | Molongui Post Contributors: Multi-Role Contributor Attribution | 33 | 240 | 162 | 400 | Output is not escaped | ||
| #177 | More Types | 33 | 227 | 198 | 800 | Non-prefixed global variable | ||
| #178 | PW WooCommerce Gift Cards | 33 | 238 | 186 | 20k+ | Output is not escaped | ||
| #179 | Mercado Pago payments for WooCommerce | 33 | 614 | 63 | 100k+ | Short PHP open tag found | ||
| #180 | Advanced Twenty Seventeen | 34 | 247 | 98 | 3k+ | Text Domain Mismatch | ||
| #181 | Easy Social Sharing | 34 | 16 | 240 | 1k+ | Non-prefixed global variable | ||
| #182 | Flash Toolkit | 34 | 159 | 242 | 10k+ | Non-prefixed global variable | ||
| #183 | Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping | 34 | 124 | 156 | 100k+ | Nonce verification recommended | ||
| #184 | MantraBrain Starter Sites | MantraBrain Theme Demo Importer | 34 | 117 | 61 | 1k+ | Output is not escaped | ||
| #185 | Optima Express IDX | 34 | 71 | 237 | 10k+ | Non-prefixed class | ||
| #186 | Security Safe | 34 | 193 | 164 | 700 | Missing Translators Comment | ||
| #187 | PostNL for WooCommerce | 34 | 595 | 104 | 3k+ | Text Domain Mismatch | ||
| #188 | WP Maps – Google Maps,OpenStreetMap,Mapbox,Store Locator,Listing,Directory & Filters | 34 | 219 | 453 | 60k+ | wp function not compatible with requires wp | ||
| #189 | Insert Headers And Footers | 34 | 83 | 113 | 300k+ | Non-prefixed global variable | ||
| #190 | LightStart – Maintenance Mode, Coming Soon and Landing Page Builder | 34 | 42 | 312 | 400k+ | Request data is not unslashed | ||
| #191 | Automatic Internal Links for SEO by Pagup | 35 | 34 | 215 | 1k+ | error log error log | ||
| #192 | Gutenberg Block Editor Toolkit – EditorsKit | 35 | 61 | 25 | 20k+ | Text Domain Mismatch | ||
| #193 | Cache Enabler | 35 | 44 | 75 | 90k+ | Input is not sanitized | ||
| #194 | CHP Ads Block Detector | 35 | 109 | 35 | 900 | Output is not escaped | ||
| #195 | Currency per Product for WooCommerce | 35 | 46 | 24 | 2k+ | Text Domain Mismatch | ||
| #196 | Wbcom Designs – Custom Font Uploader | 35 | 340 | 123 | 3k+ | Text Domain Mismatch | ||
| #197 | Custom Order Numbers for WooCommerce | 35 | 6 | 32 | 20k+ | Non-prefixed hook name | ||
| #198 | Customize My Account Page | 35 | 4 | 10 | 1k+ | Dynamic hook name | ||
| #199 | Easy Dash for LearnDash | 35 | 623 | 88 | 800 | Text Domain Mismatch | ||
| #200 | Product Bundle Builder for WooCommerce | 35 | 152 | 138 | 6k+ | Text Domain Mismatch |