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 |
|---|---|---|---|---|---|---|---|---|
| #3951 | Custom Currency for WooCommerce | 70 | 63 | 5 | 2k+ | Missing direct file access protection | ||
| #3952 | WebDefender Security – Protection & AntiSpam | 70 | 176 | 61 | 1k+ | wp function not compatible with requires wp | ||
| #3953 | Yoast Duplicate Post | 70 | 8 | 88 | 4m+ | Nonce verification recommended | ||
| #3954 | Easy Hotel – Powerful Hotel Booking | 70 | 4 | 1,900 | 800 | Non-prefixed global variable | ||
| #3955 | FAZ Cookie Manager | 70 | 315 | 900 | Non-prefixed hook name | |||
| #3956 | Free Gift Product For WooCommerce | 70 | 9 | 77 | 800 | Non-prefixed global variable | ||
| #3957 | Ghost | 70 | 25 | 12 | 600 | Output is not escaped | ||
| #3958 | Host Header Injection Fix | 70 | 9 | 8 | 400 | Output is not escaped | ||
| #3959 | Xpro Slider For Beaver Builder – Lite | 70 | 147 | 13 | 500 | Text Domain Mismatch | ||
| #3960 | Shipping Notices and No shipping options found info for WooCommerce | 70 | 9 | 18 | 400 | Non-prefixed global variable | ||
| #3961 | Remove Taxonomy Base Slug | 70 | 12 | 18 | 5k+ | Deprecated parameter: get_terms parameter 2 | ||
| #3962 | Ridhi Companion | 70 | 37 | 38 | 500 | Non-prefixed global variable | ||
| #3963 | Spocket ‑ US & EU Dropshipping | 70 | 15 | 31 | 1k+ | Direct Query | ||
| #3964 | SQL Executioner | 70 | 18 | 17 | 2k+ | Non-prefixed global variable | ||
| #3965 | Stitch Express | 70 | 10 | 6 | 400 | Output is not escaped | ||
| #3966 | SubHeading | 70 | 22 | 13 | 1k+ | Non Singular String Literal Domain | ||
| #3967 | TP Product Image Flipper for WooCommerce | 70 | 17 | 15 | 9k+ | Non-prefixed function | ||
| #3968 | Upsell Funnel Builder for WooCommerce – Create Upsells, Cross-Sells, Order Bumps, Frequently Bought, and Popups. | 70 | 3 | 1,446 | 3k+ | Non-prefixed global variable | ||
| #3969 | WEBKINDER Integration for Google Analytics and Google Tag Manager | 70 | 15 | 22 | 10k+ | Output is not escaped | ||
| #3970 | Cart All In One For WooCommerce | 70 | 6 | 150 | 5k+ | Non-prefixed global variable | ||
| #3971 | WP Calorie Calculator | 70 | 22 | 55 | 1k+ | Non-prefixed global variable | ||
| #3972 | WPThumb | 70 | 30 | 9 | 800 | Output is not escaped | ||
| #3973 | Download Manager Addons for Elementor | 70 | 272 | 13 | 6k+ | Non Singular String Literal Domain | ||
| #3974 | Anant Addons for Elementor – Widgets, Templates & WooCommerce Builder | 71 | 21 | 207 | 700 | Non-prefixed global variable | ||
| #3975 | Bold Timeline Lite | 71 | 220 | 561 | 10k+ | Non-prefixed global variable | ||
| #3976 | BuddyPress Default Data | 71 | 8 | 21 | 400 | Interpolated SQL is not prepared | ||
| #3977 | Easy Sticky Buttons | 71 | 21 | 16 | 600 | Short PHP open tag found | ||
| #3978 | Event SEO: Event Schema / Structured Data: Google Rich Snippet Schema for Event | 71 | 24 | 49 | 700 | Non-prefixed global variable | ||
| #3979 | GPX Viewer | 71 | 10 | 26 | 900 | Missing Version | ||
| #3980 | Nginx Helper | 71 | 47 | 60 | 200k+ | Non-prefixed global variable | ||
| #3981 | Print Bangla News | 71 | 29 | 17 | 2k+ | Output is not escaped | ||
| #3982 | Tax Switch for WooCommerce | 71 | 3 | 20 | 900 | Non-prefixed hook name | ||
| #3983 | WindPress – Tailwind CSS integration for WordPress | 71 | 16 | 106 | 3k+ | Non-prefixed hook name | ||
| #3984 | Discount Rules for WooCommerce | 71 | 10 | 454 | 100k+ | Non-prefixed global variable | ||
| #3985 | Multi-Step Checkout for WooCommerce | 71 | 38 | 104 | 8k+ | Non-prefixed global variable | ||
| #3986 | WP Widget in Navigation | 71 | 37 | 15 | 3k+ | Non Singular String Literal Domain | ||
| #3987 | Amazing Affiliates – Toolkit for Amazon Associates with Amazon Product Blocks and Amazon PAAPI5 / Creators API integration | 72 | 3 | 650 | 600 | Non-prefixed global variable | ||
| #3988 | Archiiv | 72 | 6 | 30 | 400 | Non-prefixed global variable | ||
| #3989 | Cloudinary – Deliver Images and Videos at Scale | 72 | 691 | 134 | 5k+ | Text Domain Mismatch | ||
| #3990 | Discontinued Product Stock Status for WooCommerce | 72 | 1 | 51 | 500 | Missing nonce verification | ||
| #3991 | PowerBI Embed Reports | 72 | 3 | 20 | 500 | Nonce verification recommended | ||
| #3992 | EU Order Withdrawal Button for WooCommerce | 72 | 52 | 406 | 4k+ | Non-prefixed hook name | ||
| #3993 | jQuery Masonry Image Gallery | 72 | 17 | 6 | 1k+ | Unsafe printing function | ||
| #3994 | Media Library Organizer – Folders, File Manager & Media Categories | 72 | 20 | 130 | 20k+ | Non-prefixed global variable | ||
| #3995 | MemcacheD Is Your Friend | 72 | 23 | 33 | 1k+ | Non-prefixed function | ||
| #3996 | My-Plugins | 72 | 24 | 6 | 30k+ | Missing Arg Domain | ||
| #3997 | Responsive Owl Carousel for Elementor | 72 | 40 | 89 | 7k+ | Non-prefixed global variable | ||
| #3998 | Advanced Datepicker – Restricts Date for Contact Form 7 | 72 | 228 | 11 | 400 | wp function not compatible with requires wp | ||
| #3999 | Robots.txt Editor | 72 | 10 | 7 | 10k+ | Input is not validated or sanitized | ||
| #4000 | Simple Local Avatars | 72 | 14 | 16 | 100k+ | Non-prefixed constant |