WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound
Non-prefixed class
The plugin defines a class 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 class 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 |
|---|---|---|---|---|---|---|---|---|
| #2301 | Easy Font Resize | 54 | 33 | 6 | 700 | Setting is missing a sanitization callback | ||
| #2302 | Expandable Row for Beaver Builder | 54 | 116 | 9 | 900 | Text Domain Mismatch | ||
| #2303 | Juiz Lang Attribute | 54 | 26 | 27 | 2k+ | Text Domain Mismatch | ||
| #2304 | Live Summary for Gravity Forms | 54 | 15 | 27 | 1k+ | Nonce verification recommended | ||
| #2305 | Resize images before upload | 54 | 19 | 5 | 1k+ | Output is not escaped | ||
| #2306 | REST XML-RPC Data Checker | 54 | 14 | 45 | 900 | Input is not sanitized | ||
| #2307 | Post Badges | 54 | 19 | 13 | 400 | Output is not escaped | ||
| #2308 | WP Post Navigation | 54 | 14 | 23 | 1k+ | Output is not escaped | ||
| #2309 | WebinarPress – Webinar System for WordPress | 54 | 61 | 499 | 900 | Non-prefixed global variable | ||
| #2310 | YITH Proteo Toolkit | 54 | 130 | 64 | 1k+ | Text Domain Mismatch | ||
| #2311 | Accordions | 55 | 1 | 101 | 20k+ | slow db query meta query | ||
| #2312 | Auto Image Alt Attribute | 55 | 26 | 7 | 6k+ | Unsafe printing function | ||
| #2313 | Quick Buy Now Button for WooCommerce | 55 | 37 | 39 | 5k+ | Output is not escaped | ||
| #2314 | Email Template Customizer for WooCommerce | 55 | 552 | 248 | 20k+ | Text Domain Mismatch | ||
| #2315 | Gutenify – Visual Site Builder Blocks & Site Templates | 55 | 66 | 40 | 5k+ | Missing Arg Domain | ||
| #2316 | Insert Pages | 55 | 52 | 30 | 40k+ | Output is not escaped | ||
| #2317 | JetWidgets For Elementor | 55 | 99 | 279 | 10k+ | Non-prefixed global variable | ||
| #2318 | LifterLMS Labs | 55 | 51 | 8 | 2k+ | Output is not escaped | ||
| #2319 | LoginPress | wp-login Custom Login Page Customizer | 55 | 125 | 308 | 200k+ | Non-prefixed function | ||
| #2320 | Mortgage Calculator | 55 | 98 | 16 | 4k+ | Text Domain Mismatch | ||
| #2321 | Page Tagger | 55 | 30 | 10 | 2k+ | Output is not escaped | ||
| #2322 | Popup Maker – Boost Sales, Conversions, Optins, Subscribers with the Ultimate WP Popup Builder | 55 | 54 | 692 | 700k+ | Non-prefixed hook name | ||
| #2323 | Popup Maker – Responsive popup, Exit Intent Pop up, Email Optins, Autoresponder & More | 55 | 44 | 64 | 7k+ | Text Domain Mismatch | ||
| #2324 | Semrush Content Toolkit | 55 | 22 | 24 | 2k+ | Non-prefixed global variable | ||
| #2325 | Themeflection Numbers – Number Counter and Animated Numbers | 55 | 224 | 73 | 3k+ | Text Domain Mismatch | ||
| #2326 | VK Block Patterns | 55 | 8 | 61 | 100k+ | Non-prefixed function | ||
| #2327 | WPC Smart Messages for WooCommerce | 55 | 6 | 84 | 1k+ | Non-prefixed global variable | ||
| #2328 | Anti-Captcha (anti-spam botblocker) | 56 | 23 | 26 | 1k+ | rand mt rand | ||
| #2329 | SMTP by BestWebSoft | 56 | 486 | 175 | 1k+ | Text Domain Mismatch | ||
| #2330 | CHEQ Essentials | 56 | 14 | 49 | 700 | Request data is not unslashed | ||
| #2331 | LearnPress – Course Wishlist | 56 | 35 | 22 | 20k+ | Output is not escaped | ||
| #2332 | reCAPTCHA for Ninja Forms | 56 | 21 | 9 | 600 | Output is not escaped | ||
| #2333 | Smooth Back To Top Button | 56 | 41 | 7 | 40k+ | Output is not escaped | ||
| #2334 | Subscriptions for WooCommerce with Stripe Recurring Payments | 56 | 10 | 467 | 800 | Non-prefixed global variable | ||
| #2335 | USERCENTRICS CMP | 56 | 44 | 11 | 1k+ | Non Singular String Literal Domain | ||
| #2336 | WP Clean Admin Menu | 56 | 29 | 11 | 2k+ | Output is not escaped | ||
| #2337 | WP-Optimize – Cache, Compress images, Minify & Clean database to boost page speed & performance | 56 | 5 | 774 | 1m+ | Non-prefixed global variable | ||
| #2338 | BestWebSoft’s Pinterest | 57 | 490 | 176 | 500 | Text Domain Mismatch | ||
| #2339 | APG Google Image Sitemap Feed | 57 | 36 | 33 | 900 | Non-prefixed global variable | ||
| #2340 | Gravity PDF | 57 | 116 | 152 | 20k+ | Non-prefixed global variable | ||
| #2341 | iZooto – Web Push Notifications | 57 | 26 | 25 | 1k+ | wp function not compatible with requires wp | ||
| #2342 | Plugin Notes | 57 | 17 | 29 | 400 | Input is not validated | ||
| #2343 | Responsive Slideshow – Photo Carousel | 57 | 1 | 74 | 2k+ | Non-prefixed global variable | ||
| #2344 | Timologia for WooCommerce | 57 | 75 | 22 | 3k+ | Text Domain Mismatch | ||
| #2345 | WP Adsterra Dashboard | 57 | 22 | 21 | 400 | wp function not compatible with requires wp | ||
| #2346 | WP Wrapper | 57 | 13 | 29 | 600 | Input is not validated | ||
| #2347 | WP Admin Category Search | 58 | 23 | 11 | 2k+ | Unsafe printing function | ||
| #2348 | Admin Page Notes | 58 | 17 | 15 | 800 | Text Domain Mismatch | ||
| #2349 | Departamentos y Ciudades de Colombia para Woocommerce | 58 | 49 | 42 | 6k+ | Text Domain Mismatch | ||
| #2350 | Easy Sidebar Menu Widget | 58 | 32 | 7 | 2k+ | Output is not escaped |