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 |
|---|---|---|---|---|---|---|---|---|
| #2201 | Magical Addons For Elementor ( Header Footer Builder, Free Elementor Widgets, Elementor Templates Library ) | 35 | 266 | 127 | 5k+ | Output is not escaped | ||
| #2202 | Mail Queue | 35 | 25 | 103 | 1k+ | Nonce verification recommended | ||
| #2203 | MainWP Child Reports | 35 | 49 | 116 | 100k+ | Non-prefixed hook name | ||
| #2204 | Marquee image crawler | 35 | 168 | 136 | 700 | Non-prefixed global variable | ||
| #2205 | Media Credit | 35 | 28 | 35 | 1k+ | Non-prefixed global variable | ||
| #2206 | MeetingHub – Webinar & Meeting Plugin for Zoom, Google Meet, Webex, Microsoft Teams, & Jitsi Meet | 35 | 37 | 313 | 400 | Non-prefixed global variable | ||
| #2207 | Metadata Viewer | 35 | 2 | 11 | 400 | Non-prefixed global variable | ||
| #2208 | Mini Ajax Cart for WooCommerce | 35 | 297 | 240 | 900 | Text Domain Mismatch | ||
| #2209 | Mini Cart for WooCommerce – Add a Stylish Sliding Cart | 35 | 42 | 160 | 600 | Non-prefixed global variable | ||
| #2210 | SAML IDP (Identity Provider) – Login with Website Users | 35 | 13 | 326 | 600 | Non-prefixed global variable | ||
| #2211 | MONEI Payments for WooCommerce | 35 | 15 | 65 | 500 | Non-prefixed hook name | ||
| #2212 | mosparo Integration | 35 | 114 | 301 | 900 | Missing nonce verification | ||
| #2213 | AI Product Search for WooCommerce – Motive Commerce Search | 35 | 70 | 82 | 400 | Missing direct file access protection | ||
| #2214 | Hide from Search | 35 | 5 | 8 | 3k+ | Missing direct file access protection | ||
| #2215 | Never Let Me Go | 35 | 34 | 47 | 400 | Non-prefixed global variable | ||
| #2216 | NewsPlugin | 35 | 84 | 53 | 400 | Text Domain Mismatch | ||
| #2217 | NGG Smart Image Search | 35 | 298 | 155 | 400 | Output is not escaped | ||
| #2218 | Nginx Cache Controller | 35 | 79 | 96 | 1k+ | Text Domain Mismatch | ||
| #2219 | Nooz | 35 | 287 | 108 | 500 | Text Domain Mismatch | ||
| #2220 | Noted! | 35 | 5 | 22 | 1k+ | Non-prefixed global variable | ||
| #2221 | Meta pixel for WordPress | 35 | 90 | 40 | 400k+ | Exception output is not escaped | ||
| #2222 | Email Marketing for WooCommerce by Omnisend | 35 | 12 | 21 | 40k+ | Non-prefixed function | ||
| #2223 | ONet Regenerate Thumbnails | 35 | 190 | 64 | 1k+ | Text Domain Mismatch | ||
| #2224 | Plugin Ongkos Kirim JNE Tiki Sicepat Wahana J&T POS for Woocommerce | 35 | 117 | 144 | 2k+ | Output is not escaped | ||
| #2225 | Out of the Block: OpenStreetMap | 35 | 9 | 4 | 700 | Missing direct file access protection | ||
| #2226 | OPcache Manager | 35 | 155 | 75 | 1k+ | Output is not escaped | ||
| #2227 | Order Delivery Date for WooCommerce | 35 | 2,075 | 73 | 10k+ | wp function not compatible with requires wp | ||
| #2228 | Orderable – Restaurant & Food Ordering System | 35 | 12 | 324 | 5k+ | Non-prefixed global variable | ||
| #2229 | OT Flatsome Vertical Menu | 35 | 126 | 26 | 10k+ | Text Domain Mismatch | ||
| #2230 | Otter Blocks – Gutenberg Blocks, Page Builder for Gutenberg Editor & FSE | 35 | 131 | 41 | 300k+ | Missing direct file access protection | ||
| #2231 | Page Optimize | 35 | 70 | 41 | 200k+ | Non Singular String Literal Domain | ||
| #2232 | Page Visits Counter – Lite | 35 | 28 | 35 | 5k+ | Output is not escaped | ||
| #2233 | Paytrail for WooCommerce | 35 | 28 | 46 | 3k+ | Non-prefixed global variable | ||
| #2234 | Pearl – Header Builder | 35 | 7 | 283 | 5k+ | Non-prefixed global variable | ||
| #2235 | Perfecty Push Notifications | 35 | 204 | 213 | 4k+ | SQL query is not prepared | ||
| #2236 | Permissions Editor for Ninja Forms | 35 | 29 | 6 | 1k+ | Output is not escaped | ||
| #2237 | Phone Orders for WooCommerce | 35 | 1 | 229 | 1k+ | Non-prefixed hook name | ||
| #2238 | Pie Calendar – Events Calendar Made Simple | 35 | 83 | 53 | 1k+ | Text Domain Mismatch | ||
| #2239 | Piwik PRO | 35 | 22 | 3 | 3k+ | Output is not escaped | ||
| #2240 | Planyo online reservation system | 35 | 64 | 90 | 400 | Output is not escaped | ||
| #2241 | Accept Cryptocurrencies with Plisio | 35 | 37 | 47 | 1k+ | Text Domain Mismatch | ||
| #2242 | Pochipp | 35 | 27 | 102 | 20k+ | Non-prefixed global variable | ||
| #2243 | Poptin – Email Marketing Automation, Newsletter & Exit Pop Ups, Email Popups | 35 | 168 | 29 | 20k+ | Output is not escaped | ||
| #2244 | Popup with fancybox | 35 | 196 | 168 | 900 | Unsafe printing function | ||
| #2245 | Post List Featured Image | 35 | 112 | 100 | 900 | Output is not escaped | ||
| #2246 | Post Meta Data Manager | 35 | 30 | 112 | 1k+ | Non-prefixed global variable | ||
| #2247 | Posts Table with Search & Sort | 35 | 143 | 33 | 3k+ | Text Domain Mismatch | ||
| #2248 | Presto Player | 35 | 37 | 78 | 100k+ | Missing Arg Domain | ||
| #2249 | Product Prices by User Roles for WooCommerce | 35 | 12 | 19 | 1k+ | Non-prefixed hook name | ||
| #2250 | Product Delivery Date for WooCommerce – Lite | 35 | 171 | 27 | 1k+ | Text Domain Mismatch |