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 |
|---|---|---|---|---|---|---|---|---|
| #4251 | SiteNarrator Text-to-Speech Widget | 82 | 12 | 4 | 800 | Output is not escaped | ||
| #4252 | Tasty Recipes Lite | 82 | 7 | 66 | 2k+ | Non-prefixed global variable | ||
| #4253 | WebP Conversion | 82 | 1 | 33 | 3k+ | Non-prefixed global variable | ||
| #4254 | Easy Booking – WooCommerce Booking & Reservation Plugin | 82 | 60 | 66 | 4k+ | Non-prefixed global variable | ||
| #4255 | Search Insights – Privacy-Friendly Search Analytics | 82 | 7 | 50 | 3k+ | Non-prefixed global variable | ||
| #4256 | Integration of Bitrix24 with Contact Form 7 | 83 | 14 | 40 | 600 | Non-prefixed function | ||
| #4257 | Featured Image Column | 83 | 12 | 2 | 2k+ | Output is not escaped | ||
| #4258 | HREFLANG Tags Management By Webnow | 83 | 2 | 34 | 600 | Non-prefixed global variable | ||
| #4259 | All-in-One Microsoft 365 & Entra ID / Azure AD SSO Login | 83 | 182 | 22 | 600 | wp function not compatible with requires wp | ||
| #4260 | Make Disable Admin Email Verification Prompt| Aims Infosoft | 83 | 10 | 4 | 2k+ | Text Domain Mismatch | ||
| #4261 | NETSENSAI Shield | 83 | 10 | 16 | 1k+ | Nonce verification recommended | ||
| #4262 | PDF Generator for WordPress | 83 | 10 | 198 | 1k+ | Non-prefixed global variable | ||
| #4263 | Easy Photography Portfolio | 83 | 38 | 33 | 2k+ | Missing direct file access protection | ||
| #4264 | Fixed Widget and Sticky Elements for WordPress | 83 | 7 | 13 | 80k+ | Non-prefixed global variable | ||
| #4265 | Relevanssi Light | 83 | 3 | 23 | 600 | Direct Query | ||
| #4266 | Lightweight Sidebar Manager | 83 | 13 | 36 | 80k+ | Non-prefixed class | ||
| #4267 | Simple Share Buttons Adder | 83 | 157 | 202 | 40k+ | Missing direct file access protection | ||
| #4268 | Sticky Header by ThematoSoup | 83 | 20 | 5 | 1k+ | Non Singular String Literal Domain | ||
| #4269 | Swipe Slider – Make dynamic slider with solid, gradient, or image background | 83 | 2 | 15 | 3k+ | Non-prefixed global variable | ||
| #4270 | TCD Classic Editor | 83 | 1 | 11 | 5k+ | Nonce verification recommended | ||
| #4271 | Template Kit – Export | 83 | 7 | 90 | 8k+ | Non-prefixed global variable | ||
| #4272 | WPC AJAX Search for WooCommerce | 83 | 1 | 29 | 1k+ | Nonce verification recommended | ||
| #4273 | WPC Order Tip for WooCommerce | 83 | 55 | 1k+ | Non-prefixed global variable | |||
| #4274 | Zhanzhangb Indexing Submission for Baidu | 83 | 14 | 4 | 2k+ | Output is not escaped | ||
| #4275 | Image Gallery Block | 84 | 9 | 22 | 2k+ | Non-prefixed global variable | ||
| #4276 | AnimateGL Animations for WordPress – Elementor & Gutenberg Blocks Animations | 84 | 88 | 20 | 3k+ | Text Domain Mismatch | ||
| #4277 | Bulk Post Importer | 84 | 1 | 38 | 800 | Missing nonce verification | ||
| #4278 | Cachify | 84 | 9 | 36 | 9k+ | Non-prefixed global variable | ||
| #4279 | WP All Import – Import Add-On for ACF | 84 | 3 | 46 | 50k+ | Non-prefixed global variable | ||
| #4280 | Events Calendar for Google | 84 | 13 | 8 | 2k+ | Missing direct file access protection | ||
| #4281 | FEWC – Extra Checkout Fields For WooCommerce | 84 | 7 | 41 | 700 | Non-prefixed global variable | ||
| #4282 | Filterable Portfolio | 84 | 3 | 76 | 1k+ | Non-prefixed global variable | ||
| #4283 | Floating Button – Easily Create Sticky, Fixed & Floating Buttons | 84 | 6 | 184 | 4k+ | Non-prefixed global variable | ||
| #4284 | Mailster reCaptcha | 84 | 4 | 15 | 1k+ | Missing nonce verification | ||
| #4285 | MotoPress Hotel Booking for Elementor | 84 | 3 | 19 | 10k+ | Non-prefixed global variable | ||
| #4286 | Nav Menu Roles | 84 | 3 | 18 | 70k+ | Non-prefixed hook name | ||
| #4287 | Video Gallery YouTube Vimeo with Youtube API | 84 | 2 | 181 | 1k+ | Non-prefixed global variable | ||
| #4288 | Ocean Social Sharing | 84 | 10 | 36 | 60k+ | Non-prefixed global variable | ||
| #4289 | Public Post Preview Configurator | 84 | 14 | 6 | 10k+ | Non Singular String Literal Domain | ||
| #4290 | Safelayout Cute Preloader – CSS3 WordPress Preloader | 84 | 3 | 14 | 10k+ | Input is not validated | ||
| #4291 | SellKit – Funnel builder and checkout optimizer for WooCommerce to sell more, faster | 84 | 9 | 17 | 8k+ | Non-prefixed class | ||
| #4292 | Upload SVG | 84 | 3 | 8 | 1k+ | Non-prefixed global variable | ||
| #4293 | UTMs Carry Pages | 84 | 4 | 11 | 400 | Non-prefixed global variable | ||
| #4294 | Duplicate Variations for WooCommerce | 84 | 6 | 12 | 2k+ | Non-prefixed global variable | ||
| #4295 | Web Stories | 84 | 12 | 63 | 60k+ | Non-prefixed global variable | ||
| #4296 | Widgets for Google Reviews and Ratings | 84 | 2 | 10 | 2k+ | Missing nonce verification | ||
| #4297 | WP Link Preview | 84 | 4 | 9 | 500 | trademarked term | ||
| #4298 | WP Notification Center | 84 | 7 | 8 | 1k+ | Exception output is not escaped | ||
| #4299 | WP PDF Generator | 84 | 21 | 22 | 1k+ | Request data is not unslashed | ||
| #4300 | WPB Accordion Menu – Collapsible Vertical Sidebar Menu – WooCommerce Category Accordion | 84 | 5 | 59 | 10k+ | Non-prefixed hook name |