WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound
Non-prefixed hook name
The plugin defines a hook name 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 hook name 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 |
|---|---|---|---|---|---|---|---|---|
| #1701 | Uix Shortcodes | 33 | 246 | 444 | 400 | Non-prefixed global variable | ||
| #1702 | Display Posts As List, Grid, Thumbs | 33 | 442 | 241 | 900 | Output is not escaped | ||
| #1703 | Variation Swatches for WooCommerce | 33 | 469 | 116 | 50k+ | Text Domain Mismatch | ||
| #1704 | Multi-Carrier EasyPost Shipping Methods & Address Validation for WooCommerce | 33 | 424 | 69 | 400 | Non Singular String Literal Domain | ||
| #1705 | Multi-Carrier Shippo Shipping Rates & Address Validation for WooCommerce | 33 | 411 | 73 | 3k+ | Non Singular String Literal Domain | ||
| #1706 | Webmention | 33 | 64 | 89 | 900 | Output is not escaped | ||
| #1707 | Rich Showcase for Google Reviews | 33 | 213 | 278 | 100k+ | Output is not escaped | ||
| #1708 | Wonder Slider Lite | 33 | 273 | 187 | 8k+ | Output is not escaped | ||
| #1709 | Product Addons for Woocommerce – Product Options with Custom Fields | 33 | 124 | 114 | 30k+ | Output is not escaped | ||
| #1710 | Min Max Control – Min Max Quantity & Step Control for WooCommerce | 33 | 96 | 215 | 10k+ | Non-prefixed global variable | ||
| #1711 | Hyyan WooCommerce Polylang Integration | 33 | 141 | 220 | 8k+ | Nonce verification recommended | ||
| #1712 | Mercado Pago payments for WooCommerce | 33 | 614 | 63 | 100k+ | Short PHP open tag found | ||
| #1713 | Pay. Payment Methods for WooCommerce | 33 | 318 | 104 | 3k+ | Non Singular String Literal Domain | ||
| #1714 | PDF Invoices Italian Add-on for WooCommerce | 33 | 325 | 200 | 5k+ | Non Singular String Literal Domain | ||
| #1715 | WOW Slider | 33 | 176 | 101 | 3k+ | Output is not escaped | ||
| #1716 | WP EXtra – One Click Optimize | 33 | 414 | 101 | 7k+ | Missing Arg Domain | ||
| #1717 | WP Social AutoConnect | 33 | 290 | 144 | 400 | Output is not escaped | ||
| #1718 | EasyMedia – Increase Media Upload File Size | Role-Based Upload Limit | Increase Execution Time | 33 | 82 | 138 | 70k+ | Non-prefixed global variable | ||
| #1719 | WebToffee WP Backup and Migration | 33 | 132 | 222 | 5k+ | Non-prefixed global variable | ||
| #1720 | WP MyLinks | 33 | 354 | 206 | 1k+ | Text Domain Mismatch | ||
| #1721 | Paymattic – Secure, Simple Payment & Donation with Subscription Payments, Recurring Donations, Customer Management | 33 | 538 | 3k+ | Direct Query | |||
| #1722 | WP Theme Optimizer | 33 | 388 | 80 | 400 | Output is not escaped | ||
| #1723 | WP-UserOnline | 33 | 111 | 161 | 10k+ | Output is not escaped | ||
| #1724 | WPoperation Elementor Addons | 33 | 891 | 52 | 1k+ | Text Domain Mismatch | ||
| #1725 | XML Sitemaps | 33 | 65 | 62 | 2k+ | Output is not escaped | ||
| #1726 | Zita Site Library for Elementor | 33 | 107 | 135 | 1k+ | Text Domain Mismatch | ||
| #1727 | AFS Analytics | 34 | 194 | 98 | 600 | Text Domain Mismatch | ||
| #1728 | Advanced Coupons for WooCommerce Coupons & Store Credit | 34 | 74 | 214 | 20k+ | Non-prefixed global variable | ||
| #1729 | Advanced Shipping Validation for WooCommerce | 34 | 331 | 127 | 400 | Text Domain Mismatch | ||
| #1730 | Advanced Twenty Seventeen | 34 | 247 | 98 | 3k+ | Text Domain Mismatch | ||
| #1731 | Arconix Shortcodes | 34 | 129 | 108 | 4k+ | Output is not escaped | ||
| #1732 | AyeCode Connect | 34 | 178 | 253 | 10k+ | Nonce verification recommended | ||
| #1733 | Bayarcash WooCommerce | 34 | 148 | 138 | 700 | Non Singular String Literal Domain | ||
| #1734 | Beeketing for WooCommerce – Marketing Automation to Boost Sales | 34 | 113 | 123 | 600 | SQL query is not prepared | ||
| #1735 | Blog-in-Blog | 34 | 64 | 93 | 800 | Non-prefixed function | ||
| #1736 | BoldGrid Easy SEO – Simple and Effective SEO | 34 | 149 | 104 | 40k+ | Text Domain Mismatch | ||
| #1737 | Buckets | 34 | 68 | 76 | 500 | Output is not escaped | ||
| #1738 | BuddyPress & BuddyBoss Member Profile Forms | 34 | 154 | 121 | 400 | Text Domain Mismatch | ||
| #1739 | SMS Abandoned Cart Recovery ✦ CartBoss | 34 | 67 | 72 | 400 | SQL query is not prepared | ||
| #1740 | Checkout Field Editor for WooCommerce – Checkout Manager | 34 | 122 | 64 | 20k+ | Text Domain Mismatch | ||
| #1741 | Clean Testimonials | 34 | 127 | 87 | 400 | Output is not escaped | ||
| #1742 | CM Search And Replace – Optimize content edits with a powerful search and replace tool | 34 | 286 | 111 | 2k+ | Output is not escaped | ||
| #1743 | CSS JS Manager, Async JavaScript, Defer Render Blocking CSS | 34 | 76 | 106 | 1k+ | Input is not validated | ||
| #1744 | Custom Sidebars – Dynamic Sidebar Classic Widget Area Manager | 34 | 32 | 307 | 100k+ | Non-prefixed global variable | ||
| #1745 | DD Last Viewed | 34 | 193 | 132 | 500 | Output is not escaped | ||
| #1746 | Debug Log Manager Tool | 34 | 44 | 143 | 3k+ | Nonce verification recommended | ||
| #1747 | Document Library Lite | 34 | 149 | 85 | 4k+ | Text Domain Mismatch | ||
| #1748 | Easy Social Sharing | 34 | 16 | 240 | 1k+ | Non-prefixed global variable | ||
| #1749 | Edit Flow | 34 | 103 | 227 | 4k+ | Non-prefixed hook name | ||
| #1750 | ECS – Ele Custom Skin for Elementor | 34 | 99 | 205 | 100k+ | Text Domain Mismatch |