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 |
|---|---|---|---|---|---|---|---|---|
| #4801 | Unique Headers | 97 | 12 | 6 | 10k+ | Missing Translators Comment | ||
| #4802 | User Shortcodes | 97 | 4 | 13 | 1k+ | Non-prefixed global variable | ||
| #4803 | VARGAL – Additional Variation Gallery for WooCommerce | 97 | 3 | 26 | 1k+ | Non-prefixed hook name | ||
| #4804 | Proxy Cache Purge | 97 | 44 | 50k+ | Non-prefixed hook name | |||
| #4805 | GSheetConnector for WooCommerce – Send your Orders and Products to Google Sheet in Real-Time | 97 | 34 | 3k+ | Non-prefixed constant | |||
| #4806 | WCBoost – Wishlist | 97 | 2 | 29 | 50k+ | Non-prefixed global variable | ||
| #4807 | Website Chat Button: Kommo integration | 97 | 1 | 43 | 1k+ | Non-prefixed global variable | ||
| #4808 | WPC Fly Cart for WooCommerce | 97 | 32 | 10k+ | Non-prefixed hook name | |||
| #4809 | Social Media Feed Gallery – Fetch Posts & Reels | 97 | 1 | 25 | 2k+ | Non-prefixed global variable | ||
| #4810 | LightPress Lightbox | 97 | 33 | 4 | 40k+ | Text Domain Mismatch | ||
| #4811 | WPC Product Size Chart for WooCommerce | 97 | 19 | 2k+ | Non-prefixed class | |||
| #4812 | WPC Share Cart for WooCommerce | 97 | 32 | 1k+ | Non-prefixed hook name | |||
| #4813 | Easy Spam Filter – Privacy-Friendly CAPTCHA Alternative with Turnstile for Contact Form 7, WPForms, BuddyPress, Elementor | 97 | 2 | 14 | 1k+ | Dynamic hook name | ||
| #4814 | Yandex Pay and Split | 97 | 2 | 16 | 400 | Non-prefixed global variable | ||
| #4815 | ZIP from Media | 97 | 4 | 16 | 400 | Non-prefixed global variable | ||
| #4816 | Accessibility Widget by OneTap – Easy One-Click Accessibility Toolbar | 98 | 4 | 18 | 50k+ | Non-prefixed global variable | ||
| #4817 | Post Category Filter (WP Admin) | 98 | 2 | 8 | 1k+ | trademarked term | ||
| #4818 | Airi Demo Importer | 98 | 1 | 7 | 1k+ | Deprecated function: get_page_by_title | ||
| #4819 | AlphaListing | 98 | 18 | 500 | Non-prefixed function | |||
| #4820 | Animated Typed JS Shortcode | 98 | 1 | 2 | 1k+ | Non-prefixed global variable | ||
| #4821 | Archive Title | 98 | 2 | 11 | 1k+ | Non-prefixed global variable | ||
| #4822 | Author Bio Box | 98 | 1 | 6 | 1k+ | Non-prefixed global variable | ||
| #4823 | Auto SEO | 98 | 3 | 12 | 500 | Non-prefixed global variable | ||
| #4824 | Auto Update Plugins | 98 | 1 | 6 | 1k+ | trademarked term | ||
| #4825 | Autoremove Attachments | 98 | 2 | 5 | 3k+ | Non-prefixed function | ||
| #4826 | Blocks Export Import – Backup & Move Gutenberg Blocks as JSON | 98 | 2 | 11 | 1k+ | Non-prefixed global variable | ||
| #4827 | Broken Link Checker by AIOSEO – Find & Fix Broken Internal, External & Video Links | 98 | 1 | 15 | 300k+ | Non-prefixed global variable | ||
| #4828 | BT iPay Payments | 98 | 2 | 13 | 1k+ | Non-prefixed global variable | ||
| #4829 | Category Archives Block | 98 | 14 | 5 | 900 | Missing Arg Domain | ||
| #4830 | Checkout Fields for Blocks | 98 | 1 | 10 | 1k+ | Non-prefixed global variable | ||
| #4831 | Clone Posts | 98 | 5 | 5 | 10k+ | Missing Arg Domain | ||
| #4832 | Comment Moderation/Notification Recipients | 98 | 2 | 7 | 1k+ | Non-prefixed global variable | ||
| #4833 | Content Blocks Builder – Create blocks, repeater blocks with carousel, grid, popup layouts | 98 | 38 | 1k+ | Non-prefixed hook name | |||
| #4834 | Copy Move Posts | 98 | 7 | 400 | Non-prefixed global variable | |||
| #4835 | Counter-Hits | 98 | 4 | 2 | 1k+ | Missing direct file access protection | ||
| #4836 | Creativ Demo Importer | 98 | 42 | 2k+ | Non-prefixed global variable | |||
| #4837 | Dashboard Columns | 98 | 2 | 6 | 1k+ | Non-prefixed function | ||
| #4838 | Disable Generate Thumbnails | 98 | 1 | 14 | 6k+ | Non-prefixed global variable | ||
| #4839 | Easy Hide Login | 98 | 3 | 12 | 20k+ | Non-prefixed global variable | ||
| #4840 | Easyship WooCommerce Shipping Rates | 98 | 1 | 16 | 2k+ | Direct Query | ||
| #4841 | Flexible Quantity – Measurement Price Calculator for WooCommerce | 98 | 2 | 9 | 2k+ | Non-prefixed global variable | ||
| #4842 | Flexible Table Block | 98 | 4 | 7 | 40k+ | Non-prefixed constant | ||
| #4843 | Footer Credits | 98 | 3 | 2 | 1k+ | Missing direct file access protection | ||
| #4844 | Genesis Simple Menus | 98 | 3 | 15 | 2k+ | Non-prefixed global variable | ||
| #4845 | GetTerms Cookie Consent & Policies | 98 | 46 | 800 | Non-prefixed global variable | |||
| #4846 | HBAgency | 98 | 1 | 16 | 9k+ | Non-prefixed global variable | ||
| #4847 | Hide Prices for WooCommerce | 98 | 4 | 3 | 800 | Missing direct file access protection | ||
| #4848 | Image Picker For Gravity Forms | 98 | 21 | 1k+ | Non-prefixed global variable | |||
| #4849 | Infinity TNC Divi Modules | 98 | 2 | 5 | 900 | Non-prefixed global variable | ||
| #4850 | Item Lists for Elementor | 98 | 1 | 49 | 1k+ | Non-prefixed global variable |