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 |
|---|---|---|---|---|---|---|---|---|
| #2801 | Mega Elements – Addons for Elementor | 38 | 170 | 57 | 10k+ | Output is not escaped | ||
| #2802 | Auto SEO META keywords (META tags keywords) optimization + WooCommerce | 38 | 63 | 34 | 700 | Output is not escaped | ||
| #2803 | Migrate Store: Export and Import WooCommerce Settings | 38 | 37 | 33 | 1k+ | Non-prefixed global variable | ||
| #2804 | MimeTypes Link Icons | 38 | 53 | 34 | 8k+ | Output is not escaped | ||
| #2805 | Group chat for WordPress – Minnit Chat | 38 | 39 | 65 | 500 | Non-prefixed global variable | ||
| #2806 | MisterPlan – Booking Engines | 38 | 73 | 138 | 600 | Nonce verification recommended | ||
| #2807 | MultiLine Files for Contact Form 7 | 38 | 98 | 40 | 9k+ | Text Domain Mismatch | ||
| #2808 | Multiple Domain Mapping on Single Site | 38 | 135 | 51 | 6k+ | Text Domain Mismatch | ||
| #2809 | MX Time Zone Clocks | 38 | 219 | 41 | 1k+ | Output is not escaped | ||
| #2810 | Customize My Account for WooCommerce – Custom Tabs, Login, Registration, 2FA & Design | 38 | 78 | 172 | 800 | Non-prefixed global variable | ||
| #2811 | Note – A live edit text widget | 38 | 118 | 49 | 1k+ | Output is not escaped | ||
| #2812 | One Click Demo Import | 38 | 22 | 84 | 1m+ | Non-prefixed global variable | ||
| #2813 | OneSignal – Web Push Notifications | 38 | 53 | 64 | 70k+ | Output is not escaped | ||
| #2814 | Open Graphite | 38 | 380 | 204 | 3k+ | Unsafe printing function | ||
| #2815 | PayTR Taksit Tablosu – WooCommerce | 38 | 67 | 39 | 3k+ | Non Singular String Literal Domain | ||
| #2816 | PDF Catalog for WooCommerce | 38 | 30 | 46 | 1k+ | Nonce verification recommended | ||
| #2817 | Podlove Subscribe button | 38 | 148 | 45 | 2k+ | Output is not escaped | ||
| #2818 | Post views Stats | 38 | 37 | 51 | 1k+ | Non-prefixed global variable | ||
| #2819 | Quick Download Button | 38 | 34 | 123 | 2k+ | Non-prefixed global variable | ||
| #2820 | Responsive Mailform ( Plugin Version ) – easy, responsive, contact, mailform | 38 | 120 | 107 | 500 | Output is not escaped | ||
| #2821 | WP REST API – OAuth 1.0a Server | 38 | 100 | 85 | 8k+ | Text Domain Mismatch | ||
| #2822 | Invoice123 | 38 | 139 | 88 | 400 | Text Domain Mismatch | ||
| #2823 | Schema App Structured Data | 38 | 35 | 86 | 7k+ | Nonce verification recommended | ||
| #2824 | SCSS WP Editor | 38 | 111 | 40 | 900 | Exception output is not escaped | ||
| #2825 | Author Image | 38 | 51 | 33 | 1k+ | Output is not escaped | ||
| #2826 | LinkBoss – Semantic AI Internal Linking | 38 | 28 | 57 | 2k+ | Missing Arg Domain | ||
| #2827 | Shutter Reloaded | 38 | 194 | 95 | 1k+ | Text Domain Mismatch | ||
| #2828 | Simple JWT Login – Allows you to use JWT on REST endpoints. | 38 | 712 | 95 | 4k+ | Output is not escaped | ||
| #2829 | Simple Keyword to Link | 38 | 90 | 49 | 3k+ | Non Singular String Literal Domain | ||
| #2830 | Simple LDAP Login | 38 | 65 | 33 | 1k+ | Output is not escaped | ||
| #2831 | Simple Visitor Counter | 38 | 41 | 27 | 700 | Output is not escaped | ||
| #2832 | SimpleShop | 38 | 52 | 51 | 1k+ | date date | ||
| #2833 | Slickplan Importer | 38 | 40 | 58 | 400 | Non-prefixed global variable | ||
| #2834 | Smart Cookie Kit | 38 | 263 | 81 | 3k+ | Output is not escaped | ||
| #2835 | Social Icons | 38 | 72 | 83 | 10k+ | Output is not escaped | ||
| #2836 | Social Snap — Social Share Buttons & Click to Tweet | 38 | 6 | 169 | 10k+ | Direct Query | ||
| #2837 | SOGO Accessibility | 38 | 147 | 40 | 5k+ | Non Singular String Literal Domain | ||
| #2838 | Subscriptions & Memberships for PayPal | 38 | 73 | 237 | 900 | Request data is not unslashed | ||
| #2839 | Super Simple Slider | 38 | 55 | 55 | 1k+ | Non-prefixed global variable | ||
| #2840 | Swiper Js Slider | 38 | 125 | 35 | 400 | Output is not escaped | ||
| #2841 | Tag Manager – Header, Body And Footer | 38 | 97 | 319 | 20k+ | Non-prefixed global variable | ||
| #2842 | Product Compare for WooCommerce | 38 | 55 | 191 | 3k+ | Non-prefixed global variable | ||
| #2843 | Variation Swatches for WooCommerce | 38 | 45 | 65 | 2k+ | Output is not escaped | ||
| #2844 | Broadcast | 38 | 21 | 107 | 1k+ | Direct Query | ||
| #2845 | Accessibility Tools & Alt Text Finder | 38 | 36 | 56 | 3k+ | Text Domain Mismatch | ||
| #2846 | Trackserver | 38 | 17 | 356 | 400 | Input is not sanitized | ||
| #2847 | Trash Duplicate and 301 Redirect | 38 | 13 | 103 | 1k+ | Nonce verification recommended | ||
| #2848 | TRUENDO | GDPR Compliant Cookie Manager | 38 | 98 | 38 | 600 | Output is not escaped | ||
| #2849 | Termly – GDPR/CCPA Cookie Consent Banner | 38 | 54 | 92 | 80k+ | Non-prefixed global variable | ||
| #2850 | Unconfirmed | 38 | 20 | 79 | 1k+ | Nonce verification recommended |