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 |
|---|---|---|---|---|---|---|---|---|
| #3651 | BestWebSoft’s Pinterest | 57 | 490 | 176 | 500 | Text Domain Mismatch | ||
| #3652 | Change Login Page Logo | 57 | 69 | 8 | 1k+ | Output is not escaped | ||
| #3653 | Elementor Beta (Developer Edition) | 57 | 36 | 32 | 30k+ | Output is not escaped | ||
| #3654 | Live Chat by Formilla – Real-time Chat & Chatbots Plugin | 57 | 22 | 13 | 2k+ | Missing Arg Domain | ||
| #3655 | APG Google Image Sitemap Feed | 57 | 36 | 33 | 900 | Non-prefixed global variable | ||
| #3656 | Gravity PDF | 57 | 116 | 152 | 20k+ | Non-prefixed global variable | ||
| #3657 | iConvert Promoter | 57 | 98 | 217 | 1k+ | Non-prefixed global variable | ||
| #3658 | iZooto – Web Push Notifications | 57 | 26 | 25 | 1k+ | wp function not compatible with requires wp | ||
| #3659 | Logo Manager For Enamad – لوگوی نماد الکترونیکی | 57 | 18 | 14 | 5k+ | Output is not escaped | ||
| #3660 | Longer Permalinks | 57 | 27 | 21 | 8k+ | Missing Arg Domain | ||
| #3661 | MC4WP: Mailchimp for WordPress | 57 | 238 | 1m+ | Non-prefixed global variable | |||
| #3662 | User Profile Picture | 57 | 42 | 54 | 40k+ | Non-prefixed hook name | ||
| #3663 | My WordPress Login Logo | 57 | 28 | 36 | 10k+ | Non-prefixed global variable | ||
| #3664 | Plugin Notes | 57 | 17 | 29 | 400 | Input is not validated | ||
| #3665 | Protected Posts Logout Button | 57 | 10 | 20 | 1k+ | Input is not sanitized | ||
| #3666 | Search Exclude | 57 | 73 | 40 | 50k+ | Text Domain Mismatch | ||
| #3667 | Responsive Slideshow – Photo Carousel | 57 | 1 | 74 | 2k+ | Non-prefixed global variable | ||
| #3668 | Timologia for WooCommerce | 57 | 75 | 22 | 3k+ | Text Domain Mismatch | ||
| #3669 | tinyWYM Editor | 57 | 55 | 3 | 1k+ | Text Domain Mismatch | ||
| #3670 | WC Call For Price | 57 | 19 | 55 | 1k+ | Non-prefixed global variable | ||
| #3671 | WPC Product Quantity for WooCommerce | 57 | 14 | 48 | 2k+ | Non-prefixed global variable | ||
| #3672 | XML Feed for Skroutz & BestPrice for WooCommerce | 57 | 12 | 50 | 600 | Input is not sanitized | ||
| #3673 | WP Admin Category Search | 58 | 23 | 11 | 2k+ | Unsafe printing function | ||
| #3674 | Admin Page Notes | 58 | 17 | 15 | 700 | Text Domain Mismatch | ||
| #3675 | Departamentos y Ciudades de Colombia para Woocommerce | 58 | 49 | 42 | 6k+ | Text Domain Mismatch | ||
| #3676 | PDF invoice for WP ERP | 58 | 96 | 134 | 2k+ | Non-prefixed global variable | ||
| #3677 | Error Log Viewer by BestWebSoft | 58 | 433 | 172 | 6k+ | Text Domain Mismatch | ||
| #3678 | HAL | 58 | 106 | 24 | 500 | Text Domain Mismatch | ||
| #3679 | Nginx Cache | 58 | 12 | 8 | 10k+ | Unsafe printing function | ||
| #3680 | WP Online Active Users | 58 | 26 | 45 | 2k+ | Non-prefixed global variable | ||
| #3681 | Responsive Select Menu | 58 | 29 | 27 | 3k+ | Output is not escaped | ||
| #3682 | REVIEWS.io for WooCommerce | 58 | 71 | 161 | 1k+ | Non-prefixed global variable | ||
| #3683 | Rewrite Rules Inspector | 58 | 7 | 59 | 10k+ | Nonce verification recommended | ||
| #3684 | Safety Exit | 58 | 52 | 26 | 1k+ | Text Domain Mismatch | ||
| #3685 | Simple Back To Top | 58 | 15 | 43 | 3k+ | Non-prefixed global variable | ||
| #3686 | SportsPress for Basketball | 58 | 104 | 34 | 1k+ | Text Domain Mismatch | ||
| #3687 | SportsPress for Football (Soccer) | 58 | 107 | 34 | 6k+ | Text Domain Mismatch | ||
| #3688 | SportsPress for Volleyball | 58 | 107 | 34 | 500 | Text Domain Mismatch | ||
| #3689 | Videopack | 58 | 28 | 108 | 10k+ | Input is not sanitized | ||
| #3690 | View Admin As | 58 | 307 | 135 | 9k+ | Non Singular String Literal Domain | ||
| #3691 | VRTs – Visual Regression Tests | 58 | 61 | 118 | 900 | Database parameter is not escaped | ||
| #3692 | WP Healthcheck | 58 | 37 | 73 | 1k+ | Non-prefixed global variable | ||
| #3693 | Social Media Auto Poster – Schedule & Publish to Buffer | 58 | 23 | 212 | 8k+ | Dynamic hook name | ||
| #3694 | Blog Designer | 59 | 62 | 83 | 10k+ | Text Domain Mismatch | ||
| #3695 | Business Reviews – Display Customer Reviews from Popular Sites | 59 | 10 | 31 | 1k+ | Non-prefixed class | ||
| #3696 | Click To Copy – Copy Text or Code to Clipboard Instantly | 59 | 13 | 35 | 800 | Non-prefixed class | ||
| #3697 | Connect SendGrid for Emails | 59 | 37 | 103 | 900 | Missing direct file access protection | ||
| #3698 | ELEX WooCommerce Name Your Price | 59 | 295 | 117 | 600 | Missing Arg Domain | ||
| #3699 | Fathom Analytics Conversions | 59 | 14 | 47 | 400 | Non-prefixed function | ||
| #3700 | Getty Images | 59 | 11 | 46 | 2k+ | Missing nonce verification |