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 |
|---|---|---|---|---|---|---|---|---|
| #1651 | Admin Tools | 38 | 189 | 10 | 3k+ | Unsafe printing function | ||
| #1652 | Afterpay Gateway for WooCommerce | 38 | 183 | 62 | 10k+ | Text Domain Mismatch | ||
| #1653 | Attachments | 38 | 238 | 66 | 8k+ | Unsafe printing function | ||
| #1654 | Audio Story Images | 38 | 46 | 44 | 400 | Output is not escaped | ||
| #1655 | Blogger Importer | 38 | 44 | 39 | 50k+ | Output is not escaped | ||
| #1656 | Cecabank WooCommerce Plugin | 38 | 63 | 32 | 3k+ | Text Domain Mismatch | ||
| #1657 | Chatbot for WordPress by Collect.chat ⚡️ | 38 | 58 | 36 | 6k+ | Unsafe printing function | ||
| #1658 | country-redirect | 38 | 58 | 19 | 400 | Text Domain Mismatch | ||
| #1659 | Login Page Customizer – Customize Login Screen & Branding | 38 | 36 | 172 | 1k+ | Non-prefixed function | ||
| #1660 | Decent Comments | 38 | 93 | 28 | 2k+ | Output is not escaped | ||
| #1661 | Responsive Pricing Table | 38 | 309 | 105 | 10k+ | Non Singular String Literal Domain | ||
| #1662 | PiWeb Product Enquiry or product catalog for WooCommerce | 38 | 255 | 145 | 1k+ | Text Domain Mismatch | ||
| #1663 | EU Cookie Law Compliance | 38 | 151 | 22 | 2k+ | Non Singular String Literal Domain | ||
| #1664 | Export to Blogger | 38 | 47 | 117 | 900 | Non-prefixed global variable | ||
| #1665 | Social Shop for WooCommerce | 38 | 51 | 24 | 800 | Output is not escaped | ||
| #1666 | GoUrl WooCommerce – Bitcoin Altcoin Payment Gateway Addon | 38 | 279 | 24 | 600 | Non Singular String Literal Domain | ||
| #1667 | Jupiter X Core | 38 | 71 | 767 | 80k+ | Non-prefixed global variable | ||
| #1668 | Lana Downloads Manager | 38 | 146 | 78 | 3k+ | Unsafe printing function | ||
| #1669 | MainWP Child – Securely Connects to the MainWP Dashboard to Manage Multiple Sites | 38 | 3 | 136 | 700k+ | Non-prefixed hook name | ||
| #1670 | Majestic Support – The Leading-Edge Help Desk & Customer Support Plugin | 38 | 2 | 457 | 3k+ | Input is not sanitized | ||
| #1671 | Auto SEO META keywords (META tags keywords) optimization + WooCommerce | 38 | 63 | 34 | 700 | Output is not escaped | ||
| #1672 | One Click Demo Import | 38 | 22 | 84 | 1m+ | Non-prefixed global variable | ||
| #1673 | Author Image | 38 | 51 | 33 | 1k+ | Output is not escaped | ||
| #1674 | LinkBoss – Semantic AI Internal Linking | 38 | 28 | 57 | 2k+ | Missing Arg Domain | ||
| #1675 | Simple Keyword to Link | 38 | 90 | 49 | 3k+ | Non Singular String Literal Domain | ||
| #1676 | Smart Maintenance Mode | 38 | 137 | 128 | 1k+ | Output is not escaped | ||
| #1677 | SOGO Accessibility | 38 | 147 | 40 | 5k+ | Non Singular String Literal Domain | ||
| #1678 | Sticky Header Effects for Elementor | 38 | 243 | 71 | 300k+ | Text Domain Mismatch | ||
| #1679 | Templatiq | 38 | 31 | 94 | 900 | Non-prefixed hook name | ||
| #1680 | Product Compare for WooCommerce | 38 | 55 | 191 | 3k+ | Non-prefixed global variable | ||
| #1681 | Variation Swatches for WooCommerce | 38 | 45 | 65 | 2k+ | Output is not escaped | ||
| #1682 | Theme Blvd Widget Pack | 38 | 240 | 17 | 2k+ | Output is not escaped | ||
| #1683 | Twitter for WordPress | 38 | 47 | 24 | 1k+ | Output is not escaped | ||
| #1684 | Chatbox Manager | 38 | 855 | 78 | 400 | Output is not escaped | ||
| #1685 | SSLCommerz Payment Gateway | 38 | 21 | 132 | 2k+ | Non-prefixed global variable | ||
| #1686 | Photo Reviews for WooCommerce | 38 | 26 | 222 | 10k+ | Request data is not unslashed | ||
| #1687 | WP Video Lightbox | 38 | 107 | 67 | 30k+ | Unsafe printing function | ||
| #1688 | WPC Product Options for WooCommerce | 38 | 57 | 182 | 4k+ | Non-prefixed global variable | ||
| #1689 | Smart Custom 404 Error Page | 39 | 90 | 44 | 100k+ | Output is not escaped | ||
| #1690 | Advanced Categories Widget | 39 | 170 | 41 | 800 | Output is not escaped | ||
| #1691 | AffiliatePages – Pros & Cons, Notice, and CTA Blocks for Affiliates | 39 | 91 | 53 | 2k+ | Output is not escaped | ||
| #1692 | Load More Anything | 39 | 38 | 73 | 5k+ | Output is not escaped | ||
| #1693 | Header Footer for Beaver Builder | 39 | 39 | 31 | 10k+ | Output is not escaped | ||
| #1694 | bbPress Voting | 39 | 27 | 53 | 500 | Output is not escaped | ||
| #1695 | Blackhole for Bad Bots | 39 | 123 | 69 | 30k+ | Output is not escaped | ||
| #1696 | Culqi | 39 | 571 | 88 | 1k+ | Text Domain Mismatch | ||
| #1697 | Da Reactions | 39 | 15 | 140 | 400 | Request data is not unslashed | ||
| #1698 | DefendWP Firewall | 39 | 16 | 203 | 3k+ | Non-prefixed global variable | ||
| #1699 | Deliverability – pass DKIM, SPF, DMARC & more | 39 | 21 | 71 | 800 | Nonce verification recommended | ||
| #1700 | Duplicate Killer – Prevent Duplicate Form Submissions | 39 | 57 | 103 | 1k+ | Non-prefixed global variable |