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 |
|---|---|---|---|---|---|---|---|---|
| #1601 | FlexTable – Data Table Sync with Google Sheets | 35 | 20 | 78 | 4k+ | Direct Query | ||
| #1602 | Shipping Zones by Drawing for WooCommerce | 35 | 278 | 95 | 600 | Text Domain Mismatch | ||
| #1603 | Simple Website Redirect | 35 | 3 | 3 | 5k+ | Discouraged text-domain loading | ||
| #1604 | SiteOrigin CSS | 35 | 61 | 84 | 100k+ | Not In Footer | ||
| #1605 | Social Sharing Plugin – Social Warfare | 35 | 17 | 143 | 20k+ | Non-prefixed class | ||
| #1606 | Spacious Toolkit | 35 | 48 | 94 | 700 | Non-prefixed global variable | ||
| #1607 | Spectra Blocks – AI Website Builder for the Block Editor | 35 | 243 | 1,251 | 5k+ | Non-prefixed global variable | ||
| #1608 | Sprout Invoices – Client Invoicing & Estimates | 35 | 40 | 1,800 | 1k+ | Non-prefixed hook name | ||
| #1609 | SSL Insecure Content Fixer | 35 | 28 | 60 | 100k+ | Input is not sanitized | ||
| #1610 | Stars Testimonials — Responsive Reviews & Star Ratings | 35 | 29 | 253 | 1k+ | Non-prefixed global variable | ||
| #1611 | Sticky Chat Widget – Floating Chat Icons, Contact Form, Call, Click to Chat, Email & Message Buttons | 35 | 33 | 293 | 10k+ | Non-prefixed global variable | ||
| #1612 | SumUp Payment Gateway For WooCommerce | 35 | 29 | 62 | 10k+ | Nonce verification recommended | ||
| #1613 | Taxonomy CSV Import Export | 35 | 5 | 30 | 700 | Missing nonce verification | ||
| #1614 | TBThemes Theme Import | 35 | 84 | 48 | 400 | Text Domain Mismatch | ||
| #1615 | Advance Product Search- Voice & Ajax Search for WooCommerce | 35 | 125 | 92 | 10k+ | Text Domain Mismatch | ||
| #1616 | ThemeRain Core | 35 | 69 | 61 | 1k+ | Text Domain Mismatch | ||
| #1617 | Themify Shortcodes | 35 | 36 | 16 | 7k+ | Output is not escaped | ||
| #1618 | TikTok | 35 | 31 | 22 | 200k+ | Missing Arg Domain | ||
| #1619 | Transcoder | 35 | 42 | 111 | 400 | Non-prefixed function | ||
| #1620 | Two Factor Authentication | 35 | 108 | 139 | 20k+ | Output is not escaped | ||
| #1621 | Void Elementor Post Grid Addon for Elementor Page builder | 35 | 189 | 93 | 3k+ | Text Domain Mismatch | ||
| #1622 | W4 Post List | 35 | 50 | 138 | 3k+ | Non-prefixed global variable | ||
| #1623 | WC Moneris Payment Gateway | 35 | 104 | 28 | 900 | Text Domain Mismatch | ||
| #1624 | Payphone – Payment Gateway Button | 35 | 3 | 2 | 2k+ | Hidden files included | ||
| #1625 | Conditional Payments and Shipping for WooCommerce | 35 | 338 | 27 | 1k+ | Text Domain Mismatch | ||
| #1626 | Deliver via Shipos for WooCommerce | 35 | 11 | 78 | 600 | Nonce verification recommended | ||
| #1627 | Converter for Media – Optimize images | Convert WebP & AVIF | 35 | 133 | 53 | 500k+ | curl curl setopt | ||
| #1628 | Open Graph and Twitter Card Tags | 35 | 15 | 27 | 50k+ | error log error log | ||
| #1629 | ALD – Dropshipping and Fulfillment for AliExpress and WooCommerce | 35 | 51 | 344 | 10k+ | Request data is not unslashed | ||
| #1630 | CardCom Payment Gateway | 35 | 201 | 84 | 3k+ | Text Domain Mismatch | ||
| #1631 | Title Limit for WooCommerce | 35 | 41 | 12 | 4k+ | Output is not escaped | ||
| #1632 | Abandoned Cart Lite for WooCommerce | 35 | 84 | 161 | 20k+ | Non-prefixed global variable | ||
| #1633 | Call for Price for WooCommerce | 35 | 3 | 31 | 8k+ | Non-prefixed hook name | ||
| #1634 | Checkout Terms Conditions Popup for WooCommerce | 35 | 76 | 30 | 1k+ | Output is not escaped | ||
| #1635 | Japanized for WooCommerce | 35 | 6 | 68 | 10k+ | Non-prefixed class | ||
| #1636 | Pixel Manager for WooCommerce – Conversion Tracking, Google Ads, GA4, TikTok, Dynamic Remarketing | 35 | 49 | 230 | 40k+ | Non-prefixed hook name | ||
| #1637 | Payment Gateway for PayPal Pro & PayPal Checkout for WooCommerce | 35 | 67 | 147 | 2k+ | Request data is not unslashed | ||
| #1638 | Invoices for WooCommerce | 35 | 55 | 168 | 10k+ | Non-prefixed global variable | ||
| #1639 | PDF Invoices & Packing Slips for WooCommerce | 35 | 35 | 965 | 300k+ | Non-prefixed hook name | ||
| #1640 | Quaderno: Global Tax & Invoicing Automation for WooCommerce | 35 | 4 | 70 | 500 | Missing nonce verification | ||
| #1641 | Stock Manager for WooCommerce | 35 | 5 | 45 | 20k+ | Non-prefixed global variable | ||
| #1642 | Kybernaut IČO DIČ | 35 | 79 | 68 | 2k+ | Missing nonce verification | ||
| #1643 | Wooplatnica | 35 | 27 | 24 | 400 | Non-prefixed class | ||
| #1644 | Access Areas for WordPress | 35 | 17 | 95 | 400 | Direct Query | ||
| #1645 | WP API Menus | 35 | 12 | 9 | 2k+ | wp function not compatible with requires wp | ||
| #1646 | Category Dropdown by GCS Design | 35 | 93 | 52 | 1k+ | Output is not escaped | ||
| #1647 | Custom Body Class | 35 | 39 | 101 | 10k+ | Non-prefixed global variable | ||
| #1648 | WP Duplicate Page | 35 | 44 | 50 | 60k+ | Text Domain Mismatch | ||
| #1649 | WP-Markdown | 35 | 31 | 39 | 400 | Output is not escaped | ||
| #1650 | WP-PageNavi | 35 | 84 | 95 | 500k+ | Non Singular String Literal Domain |