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 |
|---|---|---|---|---|---|---|---|---|
| #4351 | Shipping Method Description for WooCommerce | 86 | 9 | 12 | 1k+ | Non-prefixed global variable | ||
| #4352 | WooCommerce Payfast Gateway | 86 | 90 | 47 | 30k+ | Text Domain Mismatch | ||
| #4353 | WP Image Size Limit | 86 | 7 | 6 | 3k+ | Output is not escaped | ||
| #4354 | WP Upload Restriction | 86 | 59 | 16 | 2k+ | Text Domain Mismatch | ||
| #4355 | WP101 Video Tutorial Plugin | 86 | 15 | 18 | 10k+ | Missing direct file access protection | ||
| #4356 | Better Addons for Elementor | 87 | 125 | 221 | 4k+ | Non-prefixed global variable | ||
| #4357 | Catch Infinite Scroll | 87 | 20 | 10k+ | Non-prefixed global variable | |||
| #4358 | Contact Form 7 Spam Killer | 87 | 1 | 21 | 4k+ | Missing nonce verification | ||
| #4359 | CookieYes – Cookie Banner for Cookie Consent (Easy to setup GDPR/CCPA Compliant Cookie Notice) | 87 | 1 | 291 | 1m+ | Non-prefixed global variable | ||
| #4360 | Embed Any Document – Embed PDF, Word, PowerPoint and Excel Files | 87 | 7 | 5 | 50k+ | Setting is missing a sanitization callback | ||
| #4361 | GTM Kit – Google Tag Manager & GA4 integration | 87 | 5 | 17 | 30k+ | Missing direct file access protection | ||
| #4362 | Simple Slider Block – Create Sliders From Core Blocks | 87 | 6 | 34 | 600 | Non-prefixed global variable | ||
| #4363 | Image Optimization – Compress Images and Convert to WebP or AVIF | 87 | 15 | 24 | 1m+ | Missing Translators Comment | ||
| #4364 | ImageKit – URL based image manipulation and optimization | 87 | 47 | 42 | 1k+ | Non-prefixed global variable | ||
| #4365 | iPanorama 360 – Advanced Virtual Tour Builder | 87 | 726 | 34 | 5k+ | Text Domain Mismatch | ||
| #4366 | Booking Engine by Lodgify | 87 | 5 | 15 | 700 | Non-prefixed global variable | ||
| #4367 | Marin Companion | 87 | 19 | 66 | 500 | Non-prefixed global variable | ||
| #4368 | Menu Caching | 87 | 3 | 12 | 500 | Request data is not unslashed | ||
| #4369 | NHS Blocks | 87 | 6 | 6 | 900 | Non-prefixed global variable | ||
| #4370 | Bulk Page Generator and Mass Page Builder – Page Generator | 87 | 26 | 87 | 4k+ | Non-prefixed global variable | ||
| #4371 | Parallax Section Block – Add Parallax Scrolling Effects to Sections. | 87 | 3 | 22 | 3k+ | Non-prefixed global variable | ||
| #4372 | ParcelWILL (Formerly ParcelPanel) – Shipment Tracking, Tracking & Order Tracking for WooCommerce | 87 | 6 | 81 | 7k+ | Non-prefixed global variable | ||
| #4373 | Recently Viewed Products for WooCommerce – Carousel, Widget, Block & Email | 87 | 2 | 18 | 1k+ | Database parameter is not escaped | ||
| #4374 | Review widget addon for Divi | 87 | 20 | 3 | 500 | Text Domain Mismatch | ||
| #4375 | Security Header Generator | 87 | 10 | 20 | 500 | Non Singular String Literal Text | ||
| #4376 | Simple Photo Feed | 87 | 4 | 48 | 1k+ | Non-prefixed global variable | ||
| #4377 | Slide-out Menu – Mobile Friendly modern navigation | 87 | 5 | 22 | 500 | Non-prefixed global variable | ||
| #4378 | Smaily Connect | 87 | 52 | 2k+ | Non-prefixed global variable | |||
| #4379 | Coupon Box for WooCommerce | 87 | 11 | 85 | 1k+ | Non-prefixed global variable | ||
| #4380 | WP Missed Schedule Posts | 87 | 7 | 9 | 10k+ | trademarked term | ||
| #4381 | Related Products – Create Upsells, Cross-sells, and Product Recommendations for WooCommerce | 87 | 79 | 446 | 10k+ | Non-prefixed global variable | ||
| #4382 | Blogify-AI | 88 | 6 | 12 | 400 | Non-prefixed global variable | ||
| #4383 | Captcha by Yandex for Contact Form 7 | 88 | 9 | 12 | 3k+ | Text Domain Mismatch | ||
| #4384 | Catch IDs | 88 | 16 | 20k+ | Non-prefixed global variable | |||
| #4385 | Conditional Add to Cart for WooCommerce | 88 | 2 | 104 | 600 | Non-prefixed global variable | ||
| #4386 | Content Control – The Ultimate Content Restriction Plugin! Restrict Content, Create Conditional Blocks & More | 88 | 20 | 116 | 40k+ | Non-prefixed hook name | ||
| #4387 | Serious Slider | 88 | 7 | 9 | 20k+ | Non-prefixed global variable | ||
| #4388 | 301 Redirects – Redirect Manager | 88 | 6 | 71 | 300k+ | Non-prefixed global variable | ||
| #4389 | AH Google Analytics Code | 88 | 6 | 2 | 500 | Output is not escaped | ||
| #4390 | WP OPcache | 88 | 6 | 25 | 10k+ | Non-prefixed global variable | ||
| #4391 | Generic Elements | 88 | 1,922 | 140 | 500 | Text Domain Mismatch | ||
| #4392 | Genesis Blocks | 88 | 154 | 9 | 40k+ | Offloaded Content | ||
| #4393 | G-Forms hCaptcha | 88 | 7 | 5 | 3k+ | Missing direct file access protection | ||
| #4394 | Include Me | 88 | 7 | 7 | 4k+ | Short PHP open tag found | ||
| #4395 | WPCode – Insert Headers and Footers + Custom Code Snippets – WordPress Code Manager | 88 | 27 | 33 | 3m+ | wp function not compatible with requires wp | ||
| #4396 | SimpleMaps | 88 | 81 | 19 | 600 | wp function not compatible with requires wp | ||
| #4397 | Module Control for Jetpack | 88 | 11 | 15 | 1k+ | Non-prefixed global variable | ||
| #4398 | Lightbox with PhotoSwipe | 88 | 1 | 24 | 20k+ | Non-prefixed global variable | ||
| #4399 | MC4WP: Mailchimp Top Bar – Email Subscribe Notification Bar | 88 | 1 | 21 | 7k+ | Non-prefixed global variable | ||
| #4400 | Minimal Coming Soon – Coming Soon Page | 88 | 7 | 143 | 100k+ | Non-prefixed global variable |