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 |
|---|---|---|---|---|---|---|---|---|
| #4151 | Animator – Scroll Triggered Animations | 78 | 16 | 24 | 1k+ | Missing direct file access protection | ||
| #4152 | SearchWP Live Ajax Search | 78 | 8 | 23 | 50k+ | Non-prefixed global variable | ||
| #4153 | Simple Maintenance | 78 | 11 | 5 | 1k+ | Non-prefixed global variable | ||
| #4154 | Yandex Mail SMTP Server for WordPress | 78 | 16 | 5 | 2k+ | Text Domain Mismatch | ||
| #4155 | Spider Blocker | 78 | 19 | 9 | 20k+ | Missing Translators Comment | ||
| #4156 | Thumbnails and Featured Images | 78 | 16 | 14 | 1k+ | Short PHP open tag found | ||
| #4157 | History Timeline for Biography, Company History & Event Timeline | 78 | 29 | 37 | 1k+ | Non-prefixed global variable | ||
| #4158 | Twenty20 Image Before-After | 78 | 104 | 14 | 20k+ | Text Domain Mismatch | ||
| #4159 | WEN Responsive Columns | 78 | 13 | 6 | 800 | Unsafe printing function | ||
| #4160 | Wheel of Life: Coaching and Assessment Tool for Life Coach | 78 | 3 | 113 | 3k+ | Non-prefixed global variable | ||
| #4161 | WooCommerce Square | 78 | 6 | 266 | 80k+ | Non-prefixed hook name | ||
| #4162 | WPC Smart Messages for WooCommerce | 78 | 1 | 58 | 1k+ | Non-prefixed global variable | ||
| #4163 | Zeno Font Resizer | 78 | 13 | 2 | 5k+ | Output is not escaped | ||
| #4164 | AffiliateWP – Affiliate Info | 79 | 27 | 7 | 1k+ | Text Domain Mismatch | ||
| #4165 | AffiliateWP – Force Pending Referrals | 79 | 35 | 12 | 500 | Text Domain Mismatch | ||
| #4166 | AffiliateWP – WooCommerce Redirect Affiliates | 79 | 27 | 7 | 1k+ | Text Domain Mismatch | ||
| #4167 | AIKO – AI Developer Lite | 79 | 10 | 7 | 6k+ | error log error log | ||
| #4168 | Boxzilla – WordPress Popup Builder | 79 | 4 | 64 | 20k+ | Non-prefixed global variable | ||
| #4169 | Bitly URL Shortener | 79 | 65 | 22 | 600 | Text Domain Mismatch | ||
| #4170 | CoolClock – a Javascript Analog Clock | 79 | 21 | 9 | 2k+ | Output is not escaped | ||
| #4171 | Klaviyo | 79 | 26 | 86 | 100k+ | Non-prefixed function | ||
| #4172 | Last Name First Name | 79 | 9 | 5 | 500 | Non-prefixed function | ||
| #4173 | Location Weather – WordPress Weather Forecast, Air Quality & Weather Widget | 79 | 567 | 10k+ | Non-prefixed global variable | |||
| #4174 | Oxyplug Preload | 79 | 7 | 9 | 500 | Output is not escaped | ||
| #4175 | Qi Addons For Elementor | 79 | 33 | 339 | 200k+ | Non-prefixed global variable | ||
| #4176 | Flutterwave Payments | 79 | 8 | 39 | 600 | Non-prefixed global variable | ||
| #4177 | Real Category Management: Content Management in Category Folders | 79 | 4 | 73 | 2k+ | Non-prefixed constant | ||
| #4178 | Related Products Manager for WooCommerce | 79 | 9 | 43 | 1k+ | Non-prefixed global variable | ||
| #4179 | Responsive Mobile-Friendly Tooltip | 79 | 25 | 14 | 600 | Missing Arg Domain | ||
| #4180 | Retainful – WooCommerce Abandoned Cart, Newsletters, Email Marketing, Signup Forms and Automation | 79 | 15 | 26 | 1k+ | Non-prefixed hook name | ||
| #4181 | Rox Appointment Booking – Appointment Booking Scheduling Solution | 79 | 4 | 15 | 1k+ | Database parameter is not escaped | ||
| #4182 | SSH SFTP Updater Support | 79 | 6 | 31 | 10k+ | Non-prefixed global variable | ||
| #4183 | Visual Editor Biography | 79 | 11 | 3 | 900 | Missing Arg Domain | ||
| #4184 | WooCommerce Grid / List toggle | 79 | 10 | 12 | 10k+ | Output is not escaped | ||
| #4185 | Notifima – WooCommerce Stock Manager, Inventory Management, Waitlist | 79 | 121 | 42 | 3k+ | Text Domain Mismatch | ||
| #4186 | WP Last Modified Info | 79 | 45 | 32 | 40k+ | Short PHP open tag found | ||
| #4187 | WPMagPlus Companion | 79 | 104 | 16 | 700 | Text Domain Mismatch | ||
| #4188 | Yandex Mail | 79 | 16 | 4 | 400 | Non Singular String Literal Domain | ||
| #4189 | YITH Maintenance Mode | 79 | 19 | 63 | 5k+ | Non-prefixed global variable | ||
| #4190 | AMS Hide Page and Post Title | 80 | 4 | 6 | 500 | Input is not sanitized | ||
| #4191 | ShopEngine Gutenberg WooCommerce Builder Blocks Addon – All in One WooCommerce Solution | 80 | 424 | 735 | 3k+ | Non-prefixed global variable | ||
| #4192 | Bricksable for Bricks Builder | 80 | 1 | 76 | 10k+ | Post Not In exclude | ||
| #4193 | Button | 80 | 65 | 28 | 2k+ | Text Domain Mismatch | ||
| #4194 | wModes – Catalog Mode, Product Pricing, Enquiry Forms & Promotions | for WooCommerce | 80 | 465 | 900 | Non-prefixed global variable | |||
| #4195 | Custom Icons for Elementor | 80 | 6 | 25 | 10k+ | Non-prefixed global variable | ||
| #4196 | Docxpresso | 80 | 9 | 14 | 2k+ | Input is not sanitized | ||
| #4197 | Duo Universal | 80 | 6 | 25 | 2k+ | Nonce verification recommended | ||
| #4198 | Easy Charts | 80 | 13 | 28 | 1k+ | Non-prefixed global variable | ||
| #4199 | Flexible Wishlist for WooCommerce – Ecommerce Wishlist & Save for later | 80 | 21 | 25 | 800 | Non-prefixed global variable | ||
| #4200 | Hizzle CAPTCHA – Protect your forms from spam | 80 | 4 | 27 | 500 | Non-prefixed global variable |