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 |
|---|---|---|---|---|---|---|---|---|
| #3851 | Page Meta | 66 | 26 | 14 | 700 | Missing Arg Domain | ||
| #3852 | Product Code for WooCommerce | 66 | 13 | 54 | 1k+ | Missing direct file access protection | ||
| #3853 | Product Size Chart For WooCommerce | 66 | 9 | 22 | 6k+ | Non-prefixed hook name | ||
| #3854 | Raw HTML | 66 | 17 | 35 | 10k+ | Non-prefixed function | ||
| #3855 | Really Simple CSV Importer | 66 | 38 | 8 | 40k+ | Output is not escaped | ||
| #3856 | Shortcode for Current Date | 66 | 27 | 12 | 10k+ | Text Domain Mismatch | ||
| #3857 | Ajax add to cart for WooCommerce | 66 | 67 | 31 | 10k+ | Text Domain Mismatch | ||
| #3858 | Frenet Shipping Gateway for WooCommerce – Correios, Etiquetas e Rastreio | 66 | 22 | 31 | 4k+ | Non-prefixed global variable | ||
| #3859 | Raptive Ads | 67 | 34 | 31 | 6k+ | Text Domain Mismatch | ||
| #3860 | Awesome Contact Form7 for Elementor | 67 | 20 | 30 | 7k+ | Non-prefixed global variable | ||
| #3861 | Breadcrumbs Divi Module | 67 | 44 | 38 | 10k+ | Text Domain Mismatch | ||
| #3862 | Caddy – WooCommerce Side Cart & Free Shipping Bar | 67 | 38 | 199 | 4k+ | Non-prefixed global variable | ||
| #3863 | Card Elements for Elementor | 67 | 15 | 116 | 3k+ | Non-prefixed global variable | ||
| #3864 | EU Cookies Bar for WordPress | 67 | 3 | 69 | 9k+ | Request data is not unslashed | ||
| #3865 | Flexible Product Fields (WooCommerce Product Addons) – WooCommerce Product Page Editor | 67 | 57 | 98 | 10k+ | Non-prefixed global variable | ||
| #3866 | WordPress.com Editing Toolkit | 67 | 52 | 90 | 1k+ | Missing direct file access protection | ||
| #3867 | GravityExport Lite for Gravity Forms | 67 | 48 | 14 | 10k+ | Output is not escaped | ||
| #3868 | Hide Page And Post Title | 67 | 11 | 8 | 40k+ | Output is not escaped | ||
| #3869 | Kraken.io Image Optimizer – Compress, Convert to WebP & AVIF, Resize & Bulk Optimize | 67 | 293 | 80 | 9k+ | Text Domain Mismatch | ||
| #3870 | Mailster Gmail Integration | 67 | 15 | 13 | 1k+ | Missing Translators Comment | ||
| #3871 | Manage Upload Types | 67 | 7 | 13 | 400 | Output is not escaped | ||
| #3872 | Map Block Leaflet | 67 | 52 | 7 | 700 | Short PHP open tag found | ||
| #3873 | Meks Audio Player | 67 | 25 | 7 | 1k+ | Output is not escaped | ||
| #3874 | Mosaic Gallery – Advanced Gallery | 67 | 45 | 79 | 3k+ | Non-prefixed global variable | ||
| #3875 | Notely | 67 | 6 | 17 | 600 | Non-prefixed function | ||
| #3876 | onOffice for WP-Websites | 67 | 5 | 507 | 1k+ | Non-prefixed global variable | ||
| #3877 | Printful Integration for WooCommerce | 67 | 218 | 76 | 50k+ | Text Domain Mismatch | ||
| #3878 | Product Specifications for Woocommerce | 67 | 12 | 80 | 1k+ | Non-prefixed global variable | ||
| #3879 | Product Variations Swatches for WooCommerce | 67 | 8 | 136 | 10k+ | Non-prefixed global variable | ||
| #3880 | Recurio – Ultimate Subscription for WooCommerce | 67 | 311 | 1k+ | Direct Query | |||
| #3881 | Safelayout Elegant Icons – WordPress icons | 67 | 3 | 17 | 700 | Input is not validated | ||
| #3882 | Simple HTTPS | 67 | 17 | 13 | 400 | Output is not escaped | ||
| #3883 | Text Expander | 67 | 50 | 15 | 600 | wp function not compatible with requires wp | ||
| #3884 | WebToffee WooCommerce Product Feeds – Google Shopping, Pinterest, TikTok Ads, & More | 67 | 178 | 2,899 | 2k+ | Non-prefixed hook name | ||
| #3885 | Expand Tabs for WooCommerce | 67 | 10 | 57 | 1k+ | Non-prefixed global variable | ||
| #3886 | WP Image Zoom | 67 | 30 | 46 | 10k+ | Non-prefixed global variable | ||
| #3887 | WP SMTP Mailer – SMTP7 | 67 | 2 | 33 | 9k+ | Request data is not unslashed | ||
| #3888 | wp-Typography | 67 | 91 | 33 | 20k+ | Missing direct file access protection | ||
| #3889 | WPC Show Single Variations for WooCommerce | 67 | 5 | 31 | 1k+ | Nonce verification recommended | ||
| #3890 | Autoclear Autoptimize Cache | 68 | 16 | 3 | 8k+ | Output is not escaped | ||
| #3891 | Book Previewer for Woocommerce | 68 | 23 | 40 | 1k+ | Non-prefixed global variable | ||
| #3892 | Booter – Bots & Crawlers Manager | 68 | 81 | 7k+ | Non-prefixed global variable | |||
| #3893 | Clearout Email Validator – Real-Time Email Verification on WordPress Forms | 68 | 21 | 80 | 600 | Non-prefixed function | ||
| #3894 | Content Security Policy Manager | 68 | 19 | 2 | 2k+ | Output is not escaped | ||
| #3895 | Default Attributes for WooCommerce | 68 | 22 | 18 | 400 | Non-prefixed hook name | ||
| #3896 | Desert Companion | 68 | 412 | 837 | 20k+ | Non-prefixed global variable | ||
| #3897 | Export media with selected content (by DKZR) | 68 | 10 | 14 | 40k+ | Direct Query | ||
| #3898 | Faire for WooCommerce | 68 | 4 | 86 | 800 | Direct Query | ||
| #3899 | Logo Switcher | 68 | 14 | 2 | 800 | Output is not escaped | ||
| #3900 | Mailster Contact Form 7 | 68 | 35 | 20 | 1k+ | Text Domain Mismatch |