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 |
|---|---|---|---|---|---|---|---|---|
| #3751 | SEOPress for MainWP | 61 | 240 | 106 | 900 | Text Domain Mismatch | ||
| #3752 | Slider Factory | 61 | 3 | 414 | 2k+ | Non-prefixed global variable | ||
| #3753 | SSL Certificate Manager | 61 | 14 | 7 | 600 | Output is not escaped | ||
| #3754 | HuCommerce | Magyar kiegészítések WooCommerce webáruházakhoz | 61 | 17 | 194 | 10k+ | Non-prefixed function | ||
| #3755 | Team Showcase | 61 | 1 | 125 | 1k+ | slow db query meta key | ||
| #3756 | Text Domain Inspector | 61 | 41 | 36 | 400 | Non-prefixed global variable | ||
| #3757 | When Last Login – Export User Records | 61 | 18 | 13 | 500 | Output is not escaped | ||
| #3758 | Wistia WordPress Plugin | 61 | 42 | 12 | 2k+ | Output is not escaped | ||
| #3759 | Order Weight for WooCommerce | 61 | 24 | 34 | 600 | Text Domain Mismatch | ||
| #3760 | QR Code PicPay for WooCommerce | 61 | 15 | 25 | 600 | Non-prefixed global variable | ||
| #3761 | wp-cleanumlauts2 | 61 | 32 | 22 | 1k+ | Output is not escaped | ||
| #3762 | WP Optin Wheel – Gamified Optin Email Marketing Tool for WordPress and WooCommerce | 61 | 22 | 74 | 1k+ | Non-prefixed global variable | ||
| #3763 | Bulk Edit YOAST SEO fields in Spreadsheet | 61 | 56 | 16 | 1k+ | Non Singular String Literal Domain | ||
| #3764 | Related Products Slider for WooCommerce – Boost Sales with Smart Product Recommendations | 61 | 81 | 13 | 1k+ | Text Domain Mismatch | ||
| #3765 | AMP Contact FORM 7 – AMPCF7 | 62 | 9 | 13 | 600 | Input is not validated | ||
| #3766 | ARI Fancy Lightbox – Popup for WordPress | 62 | 8 | 107 | 10k+ | Non-prefixed namespace | ||
| #3767 | Bulk edit publish date | 62 | 11 | 16 | 2k+ | Nonce verification recommended | ||
| #3768 | Carousel Slider | 62 | 71 | 30k+ | Non-prefixed global variable | |||
| #3769 | Christmas Panda | 62 | 14 | 45 | 400 | Input is not validated | ||
| #3770 | Column Separator for Beaver Builder | 62 | 61 | 17 | 400 | Output is not escaped | ||
| #3771 | Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages | 62 | 81 | 100 | 40k+ | Missing direct file access protection | ||
| #3772 | Custom Permalink Editor | 62 | 4 | 51 | 3k+ | Non-prefixed hook name | ||
| #3773 | exovia GDPR Google Maps | 62 | 40 | 6 | 4k+ | Output is not escaped | ||
| #3774 | Get Chat App | 62 | 10 | 62 | 400 | Request data is not unslashed | ||
| #3775 | GetGenie – AI Content Writer with Keyword Research & SEO Tracking | 62 | 13 | 39 | 80k+ | Nonce verification recommended | ||
| #3776 | Import entries for Gravity Forms | 62 | 6 | 26 | 500 | Input is not validated | ||
| #3777 | payOS | 62 | 19 | 26 | 500 | Request data is not unslashed | ||
| #3778 | Responsive Slider Gallery – Responsive Image Photo Slider | 62 | 32 | 122 | 2k+ | Non-prefixed global variable | ||
| #3779 | SEO Image Toolbox | 62 | 19 | 14 | 1k+ | Output is not escaped | ||
| #3780 | WiserNotify – Social Proof & FOMO Notifications, WooCommerce Sales Popups, Reviews & Announcement Bar | 62 | 13 | 32 | 1k+ | Request data is not unslashed | ||
| #3781 | Satispay for WooCommerce | 62 | 19 | 12 | 7k+ | Exception output is not escaped | ||
| #3782 | WP Category Sort | 62 | 15 | 22 | 500 | Text Domain Mismatch | ||
| #3783 | Classic Editor and Classic Widgets | 63 | 18 | 41 | 20k+ | Nonce verification recommended | ||
| #3784 | Hide Admin Bar From Front End | 63 | 8 | 17 | 1k+ | Input is not validated | ||
| #3785 | Instant Images – One-click Image Uploads from Unsplash, Openverse, Pixabay, Pexels, and Giphy | 63 | 31 | 16 | 100k+ | Missing direct file access protection | ||
| #3786 | Mailster Google Analytics | 63 | 26 | 9 | 900 | Output is not escaped | ||
| #3787 | MooWoodle – WordPress Moodle LMS Integration, Sell Moodle Courses via WooCommerce | 63 | 10 | 45 | 800 | No Caching | ||
| #3788 | One Tap Google Sign in | 63 | 6 | 30 | 900 | Request data is not unslashed | ||
| #3789 | Slightly troublesome permalink | 63 | 24 | 10 | 1k+ | Non Singular String Literal Domain | ||
| #3790 | Rating Widget: Post Rating, 5 Star Rating, Reviews, Thumbs Up & Down, Reaction | 63 | 177 | 27 | 400 | Missing direct file access protection | ||
| #3791 | Phone Validator for WooCommerce | 63 | 8 | 33 | 1k+ | Missing nonce verification | ||
| #3792 | WPC Variation Bulk Editor for WooCommerce | 63 | 13 | 32 | 1k+ | Request data is not unslashed | ||
| #3793 | Admin CSS MU | 64 | 30 | 582 | 10k+ | Non-prefixed global variable | ||
| #3794 | Admin filter posts by year | 64 | 8 | 32 | 400 | Non-prefixed function | ||
| #3795 | Beautiful taxonomy filters | 64 | 38 | 78 | 2k+ | Non-prefixed global variable | ||
| #3796 | Broadly for WordPress | 64 | 18 | 5 | 500 | Unsafe printing function | ||
| #3797 | CodeColorer | 64 | 65 | 266 | 1k+ | Non-prefixed global variable | ||
| #3798 | Advanced Comment Form | 64 | 68 | 6 | 4k+ | Output is not escaped | ||
| #3799 | CV Demo Importer | 64 | 21 | 95 | 400 | Non-prefixed global variable | ||
| #3800 | DataFeedWatch Connector for WooCommerce | 64 | 16 | 112 | 600 | Non-prefixed hook name |