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 |
|---|---|---|---|---|---|---|---|---|
| #4301 | WPC Grouped Product for WooCommerce | 84 | 45 | 3k+ | Nonce verification recommended | |||
| #4302 | Advanced Post Manager | 85 | 11 | 18 | 4k+ | Request data is not unslashed | ||
| #4303 | reCaptcha Add-On for FormCraft | 85 | 4 | 16 | 7k+ | Missing Version | ||
| #4304 | WP Ghost (Hide My WP Ghost) – Security & Firewall | 85 | 6 | 373 | 100k+ | Non-prefixed global variable | ||
| #4305 | JAMP Notes (Just Another Memo Plugin) | 85 | 170 | 183 | 400 | Text Domain Mismatch | ||
| #4306 | Madquick WP Legal Pages – One Click, 100% Free | 85 | 5 | 55 | 600 | Non-prefixed global variable | ||
| #4307 | MD5 Media Renamer | 85 | 8 | 19 | 400 | Non-prefixed global variable | ||
| #4308 | No External Links | 85 | 7 | 26 | 5k+ | Database parameter is not escaped | ||
| #4309 | News Element Elementor Blog Magazine | 85 | 174 | 695 | 400 | Non-prefixed global variable | ||
| #4310 | Payment Integration Wompi | 85 | 44 | 11 | 1k+ | Missing Arg Domain | ||
| #4311 | Pronamic Google Maps | 85 | 24 | 18 | 1k+ | Non-prefixed global variable | ||
| #4312 | Real Thumbnail Generator: Efficient regeneration of thumbnails in all sizes | 85 | 5 | 58 | 1k+ | Non-prefixed constant | ||
| #4313 | Remove Footer Credit | 85 | 7 | 31 | 70k+ | Non-prefixed global variable | ||
| #4314 | Review widget addon for Elementor | 85 | 8 | 9 | 1k+ | Non-prefixed function | ||
| #4315 | Salt Shaker | 85 | 15 | 13 | 6k+ | Interpolated SQL is not prepared | ||
| #4316 | Shiprocket | 85 | 56 | 15 | 10k+ | Text Domain Mismatch | ||
| #4317 | Smoothscroller | 85 | 9 | 2 | 500 | Output is not escaped | ||
| #4318 | Social Share Button | 85 | 1 | 707 | 1k+ | Non-prefixed global variable | ||
| #4319 | States, Cities, and Places for WooCommerce | 85 | 101 | 192 | 6k+ | Non-prefixed global variable | ||
| #4320 | StoreOne Extension | 85 | 68 | 7 | 400 | Text Domain Mismatch | ||
| #4321 | Visual Header | 85 | 6 | 42 | 400 | Non-prefixed function | ||
| #4322 | Widget CSS Classes | 85 | 47 | 8 | 80k+ | Non Singular String Literal Domain | ||
| #4323 | Notification for WooCommerce | Boost Your Sales – Recent Sales Popup – Live Feed Sales – Upsells | 85 | 9 | 35 | 6k+ | Non-prefixed constant | ||
| #4324 | Flexible Map | 85 | 10 | 7 | 7k+ | Non-prefixed class | ||
| #4325 | WPC Estimated Delivery Date for WooCommerce | 85 | 67 | 9k+ | Non-prefixed global variable | |||
| #4326 | WPC Variations Table for WooCommerce | 85 | 34 | 400 | Non-prefixed hook name | |||
| #4327 | AM LottiePlayer | 86 | 5 | 12 | 800 | Non-prefixed global variable | ||
| #4328 | Astra Widgets | 86 | 10 | 15 | 200k+ | Missing direct file access protection | ||
| #4329 | Boxtal – Shipping solution | 86 | 3 | 92 | 9k+ | Non-prefixed global variable | ||
| #4330 | Browser Screenshots | 86 | 15 | 3 | 3k+ | wp function not compatible with requires wp | ||
| #4331 | Catch Breadcrumb | 86 | 1 | 29 | 2k+ | Non-prefixed global variable | ||
| #4332 | CBX User Online & Last Login | 86 | 3 | 87 | 800 | Non-prefixed global variable | ||
| #4333 | Feed JSON | 86 | 9 | 15 | 500 | Non-prefixed global variable | ||
| #4334 | La Poste Pro Expéditions WooCommerce | 86 | 3 | 95 | 1k+ | Non-prefixed global variable | ||
| #4335 | Shoppable Images (Lookbook) for WooCommerce | 86 | 21 | 31 | 6k+ | Missing direct file access protection | ||
| #4336 | Mailchimp List Subscribe Form | 86 | 22 | 156 | 60k+ | Non-prefixed global variable | ||
| #4337 | Modern Cart – WooCommerce Side Cart & Popup Cart | 86 | 8 | 95 | 50k+ | Non-prefixed global variable | ||
| #4338 | AI for Home Services | 86 | 8 | 5 | 700 | Setting is missing a sanitization callback | ||
| #4339 | Ocean Product Sharing | 86 | 9 | 18 | 20k+ | Non-prefixed global variable | ||
| #4340 | Pofily – WooCommerce Product Filters | 86 | 1 | 322 | 600 | Non-prefixed global variable | ||
| #4341 | Printus – Automatic Cloud Printing for WooCommerce | 86 | 28 | 20 | 800 | Missing Arg Domain | ||
| #4342 | Product Enquiry for WooCommerce (Now with AI Assistant) | 86 | 6 | 146 | 10k+ | Non-prefixed global variable | ||
| #4343 | ShopBuilder – WooCommerce Builder For Elementor | 86 | 9 | 414 | 10k+ | Non-prefixed global variable | ||
| #4344 | Social Divi | 86 | 15 | 8 | 1k+ | Missing direct file access protection | ||
| #4345 | Social Sharing Block | 86 | 5 | 11 | 7k+ | Non-prefixed global variable | ||
| #4346 | Trusted Shops Easy Integration for WooCommerce | 86 | 5 | 67 | 6k+ | Non-prefixed hook name | ||
| #4347 | Ultimate Markdown – Markdown Editor, Importer, & Exporter | 86 | 6 | 15 | 2k+ | Database parameter is not escaped | ||
| #4348 | Unlimited Theme Addon For Elementor | 86 | 74 | 68 | 600 | Missing direct file access protection | ||
| #4349 | Variation Swatches for WooCommerce – Color, Image & Size Swatches | 86 | 2 | 17 | 200k+ | Request data is not unslashed | ||
| #4350 | WC MyParcel Belgium | 86 | 340 | 79 | 600 | Text Domain Mismatch |