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 |
|---|---|---|---|---|---|---|---|---|
| #2101 | Cookies and Content Security Policy | 35 | 261 | 412 | 10k+ | Output is not escaped | ||
| #2102 | Cost of Goods: Product Cost & Profit Calculator for WooCommerce | 35 | 21 | 29 | 9k+ | Missing Translators Comment | ||
| #2103 | Counter live visitors for WooCommerce | 35 | 189 | 39 | 7k+ | Short PHP open tag found | ||
| #2104 | Coupon X – Discount Popups, Promo Codes Pop Ups for WooCommerce & Announcement Popups | 35 | 30 | 168 | 1k+ | Non-prefixed global variable | ||
| #2105 | CrowdSec | 35 | 130 | 119 | 2k+ | Output is not escaped | ||
| #2106 | Cue by AudioTheme.com | 35 | 28 | 150 | 6k+ | Non-prefixed hook name | ||
| #2107 | Currency per Product for WooCommerce | 35 | 46 | 24 | 2k+ | Text Domain Mismatch | ||
| #2108 | Currency Switcher for WooCommerce | 35 | 166 | 61 | 800 | Text Domain Mismatch | ||
| #2109 | Wbcom Designs – Custom Font Uploader | 35 | 340 | 123 | 3k+ | Text Domain Mismatch | ||
| #2110 | Custom Order Numbers for WooCommerce | 35 | 6 | 32 | 20k+ | Non-prefixed hook name | ||
| #2111 | Custom Order Status for WooCommerce | 35 | 41 | 55 | 10k+ | Non-prefixed hook name | ||
| #2112 | Custom Price for WooCommerce | 35 | 3 | 9 | 3k+ | Non-prefixed global variable | ||
| #2113 | DarkLooks – Dark Mode Switcher For WordPress | 35 | 195 | 21 | 900 | Text Domain Mismatch | ||
| #2114 | Datafeedr Product Sets | 35 | 602 | 206 | 5k+ | Output is not escaped | ||
| #2115 | Deposits & Partial Payments for WooCommerce | 35 | 174 | 144 | 5k+ | Text Domain Mismatch | ||
| #2116 | Nexi Checkout | 35 | 45 | 308 | 3k+ | Dynamic hook name | ||
| #2117 | Dintero Checkout for WooCommerce Payment Methods | 35 | 58 | 48 | 600 | Text Domain Mismatch | ||
| #2118 | PiWeb Disable payment method / Partial payment for WooCommerce | 35 | 55 | 221 | 4k+ | Non-prefixed class | ||
| #2119 | Disable and Remove Google Fonts | GDPR & DSGVO friendly | 35 | 21 | 11 | 100k+ | Missing Translators Comment | ||
| #2120 | Disable XML-RPC-API | 35 | 444 | 52 | 100k+ | Text Domain Mismatch | ||
| #2121 | DOOFINDER Search and Discovery for WP & WooCommerce | 35 | 151 | 120 | 2k+ | Text Domain Mismatch | ||
| #2122 | Dropshipping XML for WooCommerce | 35 | 9 | 27 | 800 | Non-prefixed global variable | ||
| #2123 | Duplica – Duplicate Posts, Pages, Custom Posts or Users | 35 | 14 | 31 | 2k+ | Non-prefixed global variable | ||
| #2124 | Easy Dash for LearnDash | 35 | 623 | 88 | 700 | Text Domain Mismatch | ||
| #2125 | Easy Post Types and Fields | 35 | 138 | 135 | 1k+ | Text Domain Mismatch | ||
| #2126 | Product Bundle Builder for WooCommerce | 35 | 152 | 138 | 6k+ | Text Domain Mismatch | ||
| #2127 | Easy Social Icons | 35 | 182 | 158 | 20k+ | Output is not escaped | ||
| #2128 | Easy Watermark | 35 | 82 | 53 | 30k+ | Non-prefixed global variable | ||
| #2129 | Gutenberg Blocks Library & Toolkit – Editor Plus | 35 | 27 | 11 | 6k+ | Text Domain Mismatch | ||
| #2130 | Elementor Website Builder – more than just a page builder | 35 | 46 | 428 | 10m+ | Non-prefixed global variable | ||
| #2131 | Elements Hive for Breakdance | 35 | 76 | 25 | 1k+ | Output is not escaped | ||
| #2132 | Embed Extended – Embed Maps, Videos, Websites, Source Codes, and more | 35 | 102 | 92 | 400 | Non-prefixed global variable | ||
| #2133 | Embed PDF Viewer | 35 | 1 | 2 | 20k+ | Hidden files included | ||
| #2134 | Embed Privacy | 35 | 10 | 41 | 10k+ | slow db query meta key | ||
| #2135 | WP Rocket | Simple LoadCSS Preloader | 35 | 7 | 16 | 4k+ | Non-prefixed global variable | ||
| #2136 | Ever Compare – Products Compare Plugin for WooCommerce | 35 | 2 | 23 | 600 | Non-prefixed global variable | ||
| #2137 | EWWW Image Optimizer | 35 | 225 | 731 | 1m+ | Direct Query | ||
| #2138 | AI Popup Builder & Popup Maker by OptiMonk | 35 | 81 | 65 | 4k+ | Text Domain Mismatch | ||
| #2139 | Expire User Passwords | 35 | 3 | 15 | 3k+ | Nonce verification recommended | ||
| #2140 | Export Featured Images | 35 | 176 | 67 | 1k+ | Output is not escaped | ||
| #2141 | External Links Overview | 35 | 57 | 200 | 800 | Non-prefixed global variable | ||
| #2142 | Instant Indexing for Google | 35 | 13 | 62 | 200k+ | Non-prefixed global variable | ||
| #2143 | Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager | 35 | 64 | 64 | 80k+ | Non-prefixed global variable | ||
| #2144 | Flexible PDF Coupons – Gift Cards & Vouchers for WooCommerce | 35 | 8 | 20 | 2k+ | Non-prefixed global variable | ||
| #2145 | Flexible PDF Invoices for WooCommerce & WordPress | 35 | 15 | 55 | 6k+ | Non-prefixed global variable | ||
| #2146 | Flexible Refund for WooCommerce – EU One Click Return | 35 | 5 | 8 | 2k+ | Non-prefixed global variable | ||
| #2147 | Flexible Subscriptions | 35 | 46 | 249 | 1k+ | Non-prefixed global variable | ||
| #2148 | Events Calendar by FooEvents | 35 | 57 | 59 | 4k+ | Non-prefixed global variable | ||
| #2149 | FooGallery Migrate | 35 | 41 | 232 | 1k+ | Non-prefixed global variable | ||
| #2150 | Force Reinstall | 35 | 118 | 34 | 2k+ | Output is not escaped |