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 |
|---|---|---|---|---|---|---|---|---|
| #1151 | Login Widget With Shortcode | 26 | 335 | 198 | 6k+ | wp function not compatible with requires wp | ||
| #1152 | MakeStories (for Google Web Stories) | 26 | 117 | 416 | 600 | Nonce verification recommended | ||
| #1153 | MaxGalleria | 26 | 278 | 560 | 2k+ | Non-prefixed global variable | ||
| #1154 | Media File Renamer: Rename for better SEO (AI-Powered) | 26 | 154 | 170 | 40k+ | Direct Query | ||
| #1155 | Hotel Booking | 26 | 690 | 940 | 4k+ | Unsafe printing function | ||
| #1156 | Omise Payments | 26 | 358 | 256 | 2k+ | Output is not escaped | ||
| #1157 | OOPSpam Anti-Spam: Spam Protection for WordPress Forms & Comments (No CAPTCHA) | 26 | 272 | 599 | 6k+ | Request data is not unslashed | ||
| #1158 | Open User Map – Interactive Leaflet Maps | 26 | 895 | 988 | 10k+ | Non-prefixed global variable | ||
| #1159 | Organic Builder Widgets – Simple WordPress Page Builder | 26 | 1,034 | 125 | 3k+ | Output is not escaped | ||
| #1160 | Paytium: Mollie payment forms & donations | 26 | 506 | 551 | 3k+ | Unsafe printing function | ||
| #1161 | PDF for WPForms + Drag and Drop Template Builder | 26 | 674 | 113 | 1k+ | wp function not compatible with requires wp | ||
| #1162 | LoginWP (Formerly Peter's Login Redirect) | 26 | 401 | 278 | 90k+ | Output is not escaped | ||
| #1163 | Crowdsignal Dashboard – Polls, Surveys & more | 26 | 481 | 491 | 200k+ | Unsafe printing function | ||
| #1164 | Polylang | 26 | 36 | 564 | 800k+ | Non-prefixed hook name | ||
| #1165 | Portfolio by BestWebSoft – Work and Projects Presentation Plugin for WordPress | 26 | 525 | 240 | 600 | Text Domain Mismatch | ||
| #1166 | Post List Designer – Category Post, Recent Post, Post List | 26 | 542 | 1,320 | 1k+ | Non-prefixed global variable | ||
| #1167 | Premmerce User Roles | 26 | 597 | 1,357 | 600 | Non-prefixed global variable | ||
| #1168 | Pressidium Cookie Consent | 26 | 203 | 95 | 10k+ | Exception output is not escaped | ||
| #1169 | Product Table For WooCommerce | 26 | 191 | 858 | 600 | Non-prefixed global variable | ||
| #1170 | Profile Extra Fields by BestWebSoft | 26 | 514 | 532 | 2k+ | Text Domain Mismatch | ||
| #1171 | RestaurantPress | 26 | 265 | 518 | 600 | Output is not escaped | ||
| #1172 | Role Based Pricing for Woo by Meow Crew | 26 | 548 | 1,354 | 2k+ | Non-prefixed global variable | ||
| #1173 | Send Users Email – Email Subscribers, Email Marketing Newsletter | 26 | 188 | 415 | 5k+ | Non-prefixed global variable | ||
| #1174 | SEO Booster | 26 | 403 | 1,331 | 1k+ | Non-prefixed global variable | ||
| #1175 | SP Move Login | 26 | 881 | 215 | 6k+ | Text Domain Mismatch | ||
| #1176 | Sliced Invoices – WordPress Invoice Plugin | 26 | 684 | 455 | 5k+ | Output is not escaped | ||
| #1177 | Video Gallery – Vimeo and YouTube Gallery | 26 | 561 | 794 | 6k+ | Non-prefixed global variable | ||
| #1178 | Carousel, Recent Post Slider and Banner Slider | 26 | 528 | 1,409 | 8k+ | Non-prefixed global variable | ||
| #1179 | StoreGrowth: Smart Sales Booster for WooCommerce | BOGO, Upsells, Direct Checkout, Quick View, Side Cart | 26 | 125 | 420 | 2k+ | Non-prefixed global variable | ||
| #1180 | Subscriber by BestWebSoft | 26 | 550 | 376 | 900 | Text Domain Mismatch | ||
| #1181 | SV Proven Expert | 26 | 747 | 380 | 900 | Output is not escaped | ||
| #1182 | Tag Groups is the Advanced Way to Display Your Taxonomy Terms | 26 | 351 | 232 | 3k+ | Unsafe printing function | ||
| #1183 | Theater for WordPress | 26 | 348 | 344 | 600 | Output is not escaped | ||
| #1184 | UpdraftCentral Dashboard | 26 | 267 | 180 | 5k+ | Missing Translators Comment | ||
| #1185 | URL Image Importer – Import External Images to the Media Library from URL, CSV & XML | 26 | 143 | 239 | 700 | Missing nonce verification | ||
| #1186 | User Avatar | 26 | 104 | 173 | 4k+ | Non-prefixed constant | ||
| #1187 | User Submitted Posts – Enable Users to Submit Posts from the Front End | 26 | 699 | 396 | 10k+ | Text Domain Mismatch | ||
| #1188 | VikWidgetsLoader – Collection of Widgets | 26 | 1,182 | 538 | 1k+ | Output is not escaped | ||
| #1189 | Virtue/Ascend/Pinnacle Toolkit | 26 | 605 | 300 | 30k+ | Output is not escaped | ||
| #1190 | Visitors Online by BestWebSoft | 26 | 512 | 269 | 1k+ | Text Domain Mismatch | ||
| #1191 | Conditional Fees for WooCommerce Lite | 26 | 566 | 1,303 | 500 | Non-prefixed global variable | ||
| #1192 | Cart Abandonment Recovery for WooCommerce – Recover Lost Sales with Automated Emails | 26 | 51 | 325 | 300k+ | Direct Query | ||
| #1193 | Parcel Pro | 26 | 171 | 220 | 600 | Output is not escaped | ||
| #1194 | Premmerce SEO for WooCommerce | 26 | 550 | 1,285 | 1k+ | Non-prefixed global variable | ||
| #1195 | Set Price Note (Units, Offers, Editions) for WooCommerce | 26 | 596 | 1,307 | 800 | Non-prefixed global variable | ||
| #1196 | Shipping Method Display Style for WooCommerce | 26 | 529 | 1,308 | 2k+ | Non-prefixed global variable | ||
| #1197 | XL NMI Gateway for WooCommerce | 26 | 695 | 436 | 1k+ | Text Domain Mismatch | ||
| #1198 | Faktur Pro for WooCommerce | 26 | 416 | 218 | 1k+ | Text Domain Mismatch | ||
| #1199 | Eventin – Event Calendar, Event Registration, Tickets & Booking (AI Powered) | 26 | 2,652 | 2,093 | 10k+ | Text Domain Mismatch | ||
| #1200 | HireZoot – Job Listings, Career Page & Recruitment Tool | 26 | 80 | 620 | 40k+ | Non-prefixed global variable |