WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFound
Non-prefixed constant
The plugin defines a constant 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 constant 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 |
|---|---|---|---|---|---|---|---|---|
| #1951 | CHEQ Essentials | 56 | 14 | 49 | 700 | Request data is not unslashed | ||
| #1952 | Fluent Connect – Connect ThriveCart with your WordPress and FluentCRM | 56 | 37 | 54 | 600 | curl curl setopt | ||
| #1953 | LearnPress – Course Wishlist | 56 | 35 | 22 | 20k+ | Output is not escaped | ||
| #1954 | Maya Business Plugin | 56 | 9 | 39 | 600 | Input is not validated | ||
| #1955 | WP-Optimize – Cache, Compress images, Minify & Clean database to boost page speed & performance | 56 | 5 | 769 | 1m+ | Non-prefixed global variable | ||
| #1956 | BestWebSoft’s Pinterest | 57 | 490 | 176 | 500 | Text Domain Mismatch | ||
| #1957 | APG Google Image Sitemap Feed | 57 | 36 | 33 | 900 | Non-prefixed global variable | ||
| #1958 | Gravity PDF | 57 | 116 | 152 | 20k+ | Non-prefixed global variable | ||
| #1959 | iZooto – Web Push Notifications | 57 | 26 | 25 | 1k+ | wp function not compatible with requires wp | ||
| #1960 | JSON API User | 57 | 17 | 34 | 1k+ | Non-prefixed hook name | ||
| #1961 | Logo Manager For Enamad – لوگوی نماد الکترونیکی | 57 | 18 | 14 | 5k+ | Output is not escaped | ||
| #1962 | Longer Permalinks | 57 | 27 | 21 | 8k+ | Missing Arg Domain | ||
| #1963 | Timologia for WooCommerce | 57 | 75 | 22 | 3k+ | Text Domain Mismatch | ||
| #1964 | PDF invoice for WP ERP | 58 | 96 | 134 | 2k+ | Non-prefixed global variable | ||
| #1965 | Error Log Viewer by BestWebSoft | 58 | 433 | 172 | 6k+ | Text Domain Mismatch | ||
| #1966 | Flexible FAQ | 58 | 27 | 26 | 1k+ | Text Domain Mismatch | ||
| #1967 | Gutenverse Form – Contact Form Builder, Block Form & Booking Form | 58 | 17 | 48 | 10k+ | Nonce verification recommended | ||
| #1968 | HAL | 58 | 106 | 24 | 500 | Text Domain Mismatch | ||
| #1969 | Responsive Select Menu | 58 | 29 | 27 | 3k+ | Output is not escaped | ||
| #1970 | SportsPress for Basketball | 58 | 104 | 34 | 1k+ | Text Domain Mismatch | ||
| #1971 | SportsPress for Football (Soccer) | 58 | 107 | 34 | 6k+ | Text Domain Mismatch | ||
| #1972 | SportsPress for Volleyball | 58 | 107 | 34 | 500 | Text Domain Mismatch | ||
| #1973 | Videopack | 58 | 28 | 108 | 10k+ | Input is not sanitized | ||
| #1974 | View Admin As | 58 | 307 | 135 | 9k+ | Non Singular String Literal Domain | ||
| #1975 | WebP Express Plus | 58 | 19 | 11 | 700 | Unsafe printing function | ||
| #1976 | Social Media Auto Poster – Schedule & Publish to Buffer | 58 | 23 | 210 | 8k+ | Dynamic hook name | ||
| #1977 | Business Reviews – Display Customer Reviews from Popular Sites | 59 | 10 | 31 | 1k+ | Non-prefixed class | ||
| #1978 | Click To Copy – Copy Text or Code to Clipboard Instantly | 59 | 13 | 35 | 800 | Non-prefixed class | ||
| #1979 | Fathom Analytics Conversions | 59 | 14 | 47 | 400 | Non-prefixed function | ||
| #1980 | GravityWP – Merge Tags | 59 | 16 | 172 | 2k+ | Non-prefixed global variable | ||
| #1981 | Mango Buttons | 59 | 14 | 21 | 3k+ | Output is not escaped | ||
| #1982 | pensopay Payments v2 | 59 | 413 | 32 | 1k+ | Non Singular String Literal Domain | ||
| #1983 | Subscribers – Free Web Push Notifications | 59 | 15 | 11 | 1k+ | Output is not escaped | ||
| #1984 | WC Korkmaz Contract – Contracts for WooCommerce | 59 | 7 | 38 | 600 | Non-prefixed global variable | ||
| #1985 | Hide Posts | 59 | 9 | 70 | 20k+ | Direct Query | ||
| #1986 | Add Google re captcha in WordPress Forms | 59 | 16 | 16 | 500 | Output is not escaped | ||
| #1987 | FancyBox for WordPress | 60 | 175 | 33 | 30k+ | Text Domain Mismatch | ||
| #1988 | iubenda | All-in-one Compliance for GDPR / CCPA Cookie Consent + more | 60 | 405 | 271 | 200k+ | Text Domain Mismatch | ||
| #1989 | Kubio AI Page Builder | 60 | 283 | 77 | 90k+ | Missing direct file access protection | ||
| #1990 | Mailster AmazonSES Integration | 60 | 52 | 25 | 2k+ | Missing Arg Domain | ||
| #1991 | Order Export & Order Import for WooCommerce | 60 | 257 | 699 | 50k+ | Non-prefixed global variable | ||
| #1992 | RealHomes PayPal Payments | 60 | 55 | 23 | 400 | Non Singular String Literal Domain | ||
| #1993 | Team – Team Members Showcase Plugin | 60 | 12 | 781 | 10k+ | Non-prefixed global variable | ||
| #1994 | WoowGallery | 60 | 15 | 178 | 1k+ | Non-prefixed global variable | ||
| #1995 | WP Bottom Menu | 60 | 74 | 52 | 20k+ | Non-prefixed hook name | ||
| #1996 | CommerceBird – AI Command Center, ERP Integrations & B2B for WooCommerce (Zoho, Exact Online). | 61 | 3 | 162 | 500 | Direct Query | ||
| #1997 | Compact WP Audio Player | 61 | 12 | 21 | 20k+ | Non-prefixed function | ||
| #1998 | Creative Commons | 61 | 103 | 17 | 700 | Text Domain Mismatch | ||
| #1999 | Country and State Selection Addon for Gravity Forms | 61 | 14 | 26 | 1k+ | Non-prefixed constant | ||
| #2000 | Marker.io – Visual Website Feedback | 61 | 6 | 31 | 4k+ | Request data is not unslashed |