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 |
|---|---|---|---|---|---|---|---|---|
| #2001 | Creative Commons | 61 | 103 | 17 | 700 | Text Domain Mismatch | ||
| #2002 | Country and State Selection Addon for Gravity Forms | 61 | 14 | 26 | 1k+ | Non-prefixed constant | ||
| #2003 | Marker.io – Visual Website Feedback | 61 | 6 | 31 | 4k+ | Request data is not unslashed | ||
| #2004 | Multiple Post Passwords | 61 | 13 | 15 | 2k+ | Output is not escaped | ||
| #2005 | Newspack Newsletters | 61 | 53 | 47 | 1k+ | Request data is not unslashed | ||
| #2006 | HuCommerce | Magyar kiegészítések WooCommerce webáruházakhoz | 61 | 17 | 194 | 10k+ | Non-prefixed function | ||
| #2007 | ARI Fancy Lightbox – Popup for WordPress | 62 | 8 | 107 | 10k+ | Non-prefixed namespace | ||
| #2008 | Christmas Panda | 62 | 14 | 45 | 400 | Input is not validated | ||
| #2009 | Custom Permalink Editor | 62 | 4 | 51 | 3k+ | Non-prefixed hook name | ||
| #2010 | Devices for Elementor | 62 | 22 | 13 | 400 | Output is not escaped | ||
| #2011 | Disable Visual Editor WYSIWYG | 62 | 10 | 12 | 1k+ | Nonce verification recommended | ||
| #2012 | Cron Jobs | 62 | 21 | 33 | 2k+ | Nonce verification recommended | ||
| #2013 | Nimbata Call Tracking | 62 | 13 | 11 | 400 | Non-prefixed function | ||
| #2014 | Responsive Slider Gallery – Responsive Image Photo Slider | 62 | 32 | 122 | 2k+ | Non-prefixed global variable | ||
| #2015 | WP Category Sort | 62 | 15 | 22 | 500 | Text Domain Mismatch | ||
| #2016 | WP Charts and Graphs – WordPress Chart Plugin | 62 | 8 | 29 | 1k+ | Input is not sanitized | ||
| #2017 | Classic Editor and Classic Widgets | 63 | 18 | 41 | 20k+ | Nonce verification recommended | ||
| #2018 | Happierleads – Identify your B2B website visitors even if they work remotely | 63 | 32 | 7 | 600 | wp function not compatible with requires wp | ||
| #2019 | Social Intents – Live Chat | 63 | 42 | 11 | 400 | Non Singular String Literal Domain | ||
| #2020 | Contact Form to Chat Apps | Click to Chat to Order – FormyChat | 63 | 30 | 136 | 3k+ | Direct Query | ||
| #2021 | PayPing Gateway For Woocommerce | 63 | 11 | 40 | 1k+ | Non-prefixed hook name | ||
| #2022 | WPC Variation Bulk Editor for WooCommerce | 63 | 13 | 32 | 1k+ | Request data is not unslashed | ||
| #2023 | Admin CSS MU | 64 | 30 | 582 | 10k+ | Non-prefixed global variable | ||
| #2024 | Channel.io | 64 | 14 | 3 | 1k+ | Output is not escaped | ||
| #2025 | Advanced Comment Form | 64 | 68 | 6 | 4k+ | Output is not escaped | ||
| #2026 | CV Demo Importer | 64 | 21 | 95 | 400 | Non-prefixed global variable | ||
| #2027 | Product Import Export for WooCommerce – Import Export Product CSV Suite | 64 | 246 | 766 | 80k+ | Non-prefixed global variable | ||
| #2028 | Stancer for WooCommerce | 64 | 2 | 108 | 400 | Non-prefixed global variable | ||
| #2029 | Werk aan de Muur | 64 | 48 | 20 | 900 | Non Singular String Literal Domain | ||
| #2030 | JTL-Connector for WooCommerce | 64 | 7 | 166 | 1k+ | Direct Query | ||
| #2031 | WPC Shop as a Customer for WooCommerce | 64 | 5 | 38 | 400 | Request data is not unslashed | ||
| #2032 | AdSimple Cookie Consent Banner | 65 | 55 | 109 | 600 | wp function not compatible with requires wp | ||
| #2033 | Cyr to Lat Reloaded – Transliteration of Links and File Names | 65 | 13 | 36 | 30k+ | Direct Query | ||
| #2034 | QRCode | 65 | 21 | 39 | 400 | Non-prefixed constant | ||
| #2035 | Futy.io Leadbots | 65 | 73 | 9 | 2k+ | wp function not compatible with requires wp | ||
| #2036 | Notibar – Notification Bar for WordPress | 65 | 43 | 62 | 8k+ | wp function not compatible with requires wp | ||
| #2037 | WebberZone Top 10 — Popular Posts | 65 | 37 | 176 | 10k+ | Database parameter is not escaped | ||
| #2038 | WP-Farsi | 65 | 26 | 36 | 600 | Non-prefixed function | ||
| #2039 | WPC Free Gift Coupons for WooCommerce | 65 | 8 | 25 | 400 | Non-prefixed class | ||
| #2040 | Bopo – WooCommerce Product Bundle Builder | 66 | 137 | 135 | 1k+ | Text Domain Mismatch | ||
| #2041 | Debug Log Manager – Conveniently Monitor and Inspect Errors | 66 | 33 | 44 | 10k+ | Input is not validated | ||
| #2042 | Export Categories | 66 | 22 | 13 | 1k+ | Output is not escaped | ||
| #2043 | IranDargah Payment Gateway for Woocommerce | 66 | 66 | 26 | 400 | Text Domain Mismatch | ||
| #2044 | Safe Redirect Manager | 66 | 9 | 60 | 40k+ | Non-prefixed hook name | ||
| #2045 | Frenet Shipping Gateway for WooCommerce – Correios, Etiquetas e Rastreio | 66 | 22 | 31 | 4k+ | Non-prefixed global variable | ||
| #2046 | Add Logo to Admin | 67 | 14 | 3 | 7k+ | Unsafe printing function | ||
| #2047 | Breadcrumbs Divi Module | 67 | 44 | 38 | 10k+ | Text Domain Mismatch | ||
| #2048 | Card Elements for Elementor | 67 | 15 | 116 | 3k+ | Non-prefixed global variable | ||
| #2049 | Easy Media Replace | 67 | 16 | 14 | 1k+ | Output is not escaped | ||
| #2050 | WordPress.com Editing Toolkit | 67 | 52 | 90 | 1k+ | Missing direct file access protection |