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 |
|---|---|---|---|---|---|---|---|---|
| #4751 | Follow Us Badges | 96 | 7 | 9 | 1k+ | Non-prefixed global variable | ||
| #4752 | 301 Redirects & 404 Error Log | 97 | 4 | 20 | 30k+ | Non-prefixed global variable | ||
| #4753 | ACF: Better Search | 97 | 11 | 10 | 40k+ | Missing direct file access protection | ||
| #4754 | Admin Help Docs | 97 | 9 | 31 | 500 | Non-prefixed global variable | ||
| #4755 | Advanced Google reCAPTCHA | 97 | 3 | 15 | 200k+ | Non-prefixed global variable | ||
| #4756 | All in One SEO – Powerful SEO Plugin to Boost SEO Rankings & Increase Traffic | 97 | 19 | 4 | 3m+ | wp function not compatible with requires wp | ||
| #4757 | atec Cache Info | 97 | 23 | 1 | 1k+ | wp function not compatible with requires wp | ||
| #4758 | Automatik Blog | 97 | 5 | 23 | 1k+ | Non-prefixed global variable | ||
| #4759 | Before + After Images for Divi | 97 | 12 | 3 | 3k+ | Missing direct file access protection | ||
| #4760 | Booking.com Product Helper | 97 | 2 | 8 | 1k+ | Discouraged text-domain loading | ||
| #4761 | BT iPay Payments | 97 | 3 | 13 | 1k+ | Non-prefixed global variable | ||
| #4762 | Candid Advanced Toolset | 97 | 10 | 2 | 1k+ | Missing direct file access protection | ||
| #4763 | Captcha Code | 97 | 17 | 12 | 100k+ | wp function not compatible with requires wp | ||
| #4764 | Categories in Hierarchical Order | 97 | 1 | 5 | 2k+ | Non-prefixed function | ||
| #4765 | Conditional Add to Cart for WooCommerce | 97 | 100 | 600 | Non-prefixed global variable | |||
| #4766 | Custom Shipping Methods for WooCommerce – Create Weight based Shipping, Conditional Shipping, Table Rate Shipping and much more | 97 | 2 | 32 | 3k+ | Non-prefixed global variable | ||
| #4767 | Markdown Editor (Formerly Dark Mode) | 97 | 2 | 19 | 1k+ | Non-prefixed function | ||
| #4768 | Device Mockups | 97 | 7 | 3 | 900 | Missing direct file access protection | ||
| #4769 | Meta Field Block – Display custom fields in the Block Editor without coding | 97 | 1 | 11 | 10k+ | Non-prefixed hook name | ||
| #4770 | Drip – Marketing Automation for WooCommerce | 97 | 23 | 7 | 1k+ | Non Singular String Literal Domain | ||
| #4771 | Easy Widget Columns | 97 | 3 | 17 | 400 | Non-prefixed global variable | ||
| #4772 | Email Customizer for WooCommerce | Drag and Drop Email Templates Builder | 97 | 65 | 9k+ | Non-prefixed hook name | |||
| #4773 | Exif Caption | 97 | 3 | 25 | 600 | Non-prefixed global variable | ||
| #4774 | Flexible Cookies | 97 | 5 | 39 | 3k+ | Non-prefixed global variable | ||
| #4775 | FlexiType Lite | 97 | 2 | 14 | 1k+ | Non-prefixed global variable | ||
| #4776 | Gallery Block by Galleryberg: Lightbox with Tiles, Masonry, Square, & Justified Layouts | 97 | 132 | 1k+ | Non-prefixed global variable | |||
| #4777 | Genesis Portfolio Pro | 97 | 9 | 16 | 5k+ | Non-prefixed global variable | ||
| #4778 | Address Autocomplete via Google for Gravity Forms | 97 | 1 | 25 | 2k+ | Non-prefixed global variable | ||
| #4779 | GutenBee – Gutenberg Blocks | 97 | 7 | 10 | 7k+ | Missing direct file access protection | ||
| #4780 | Hide Google reCAPTCHA Logo | 97 | 3 | 2 | 500 | Non-prefixed global variable | ||
| #4781 | Feedback Button – Jotform | 97 | 25 | 10 | 600 | Missing Arg Domain | ||
| #4782 | Laravel DD for WordPress | 97 | 3 | 6 | 1k+ | Non-prefixed function | ||
| #4783 | Last Updated Shortcode | 97 | 3 | 4 | 800 | Non-prefixed global variable | ||
| #4784 | Linked Variations for WooCommerce – Link Separate Products by Attribute with Swatches, Quick View & Shortcodes | 97 | 12 | 34 | 500 | Non-prefixed global variable | ||
| #4785 | Linked Variation for WooCommerce | 97 | 2 | 47 | 400 | Non-prefixed global variable | ||
| #4786 | Maestro Connector | 97 | 7 | 4 | 500 | Missing direct file access protection | ||
| #4787 | MetalpriceAPI | 97 | 4 | 4 | 500 | Missing direct file access protection | ||
| #4788 | No Right Click Images | 97 | 14 | 13 | 20k+ | wp function not compatible with requires wp | ||
| #4789 | Olark Live Chat | 97 | 3 | 16 | 1k+ | Non-prefixed global variable | ||
| #4790 | Order Export for WooCommerce | 97 | 31 | 2k+ | Missing Version | |||
| #4791 | PayPro Gateways – WooCommerce | 97 | 2 | 8 | 400 | Non-prefixed hook name | ||
| #4792 | Performant Translations | 97 | 5 | 9 | 40k+ | Non-prefixed global variable | ||
| #4793 | PowerFolio – Portfolio & Image Gallery for Elementor | 97 | 10 | 12 | 10k+ | Non-prefixed hook name | ||
| #4794 | Reddit for WooCommerce | 97 | 1 | 17 | 60k+ | Dynamic hook name | ||
| #4795 | Responsive Video Embeds | 97 | 3 | 2 | 2k+ | Missing direct file access protection | ||
| #4796 | Sidebar Login | 97 | 2 | 6 | 10k+ | Non-prefixed global variable | ||
| #4797 | Simple Blog Card | 97 | 6 | 18 | 3k+ | Non-prefixed global variable | ||
| #4798 | Simple SMTP | 97 | 3 | 10 | 2k+ | Non-prefixed hook name | ||
| #4799 | Smart Search & Product Filter for WooCommerce – Searchanise | 97 | 2 | 24 | 900 | Non-prefixed global variable | ||
| #4800 | Spiraclethemes Site Library | 97 | 27 | 1k+ | Non-prefixed global variable |