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 |
|---|---|---|---|---|---|---|---|---|
| #4101 | Order Export for WooCommerce | 97 | 31 | 2k+ | Missing Version | |||
| #4102 | PayPro Gateways – WooCommerce | 97 | 2 | 8 | 400 | Non-prefixed hook name | ||
| #4103 | PowerFolio – Portfolio & Image Gallery for Elementor | 97 | 10 | 12 | 10k+ | Non-prefixed hook name | ||
| #4104 | Power Boost for Gravity Forms | 97 | 7 | 10 | 500 | wp function not compatible with requires wp | ||
| #4105 | PowerPack for LearnDash | 97 | 173 | 8 | 1k+ | Text Domain Mismatch | ||
| #4106 | Prevent Concurrent Logins | 97 | 2 | 10 | 900 | Non-prefixed function | ||
| #4107 | Product Notices for WooCommerce | 97 | 130 | 2 | 800 | Text Domain Mismatch | ||
| #4108 | RoleMaster Suite – User Role Editor for E-Commerce, Membership & Admin Panel | 97 | 8 | 2 | 700 | Missing direct file access protection | ||
| #4109 | Sharpen Resized Images | 97 | 4 | 3 | 1k+ | Non-prefixed hook name | ||
| #4110 | Sight – Professional Image Gallery and Portfolio | 97 | 30 | 3 | 3k+ | wp function not compatible with requires wp | ||
| #4111 | Simple SMTP | 97 | 3 | 10 | 2k+ | Non-prefixed hook name | ||
| #4112 | Smart Search & Product Filter for WooCommerce – Searchanise | 97 | 2 | 24 | 900 | Non-prefixed global variable | ||
| #4113 | SVG Support | 97 | 1 | 27 | 1m+ | Non-prefixed global variable | ||
| #4114 | TextMe SMS | 97 | 3 | 13 | 600 | Non-prefixed global variable | ||
| #4115 | Themes Artist Demo Importer | 97 | 75 | 6 | 1k+ | Text Domain Mismatch | ||
| #4116 | TinyMCE Smiley Button | 97 | 3 | 3 | 600 | Missing Version | ||
| #4117 | Unique Headers | 97 | 12 | 6 | 10k+ | Missing Translators Comment | ||
| #4118 | VARGAL – Additional Variation Gallery for WooCommerce | 97 | 3 | 26 | 1k+ | Non-prefixed hook name | ||
| #4119 | Proxy Cache Purge | 97 | 44 | 40k+ | Non-prefixed hook name | |||
| #4120 | GSheetConnector for WooCommerce – Send your Orders and Products to Google Sheet in Real-Time | 97 | 34 | 3k+ | Non-prefixed constant | |||
| #4121 | WCBoost – Wishlist | 97 | 2 | 29 | 50k+ | Non-prefixed global variable | ||
| #4122 | WPC Fly Cart for WooCommerce | 97 | 32 | 10k+ | Non-prefixed hook name | |||
| #4123 | Faview – Virtual Reviews for WooCommerce | 97 | 3 | 19 | 7k+ | Non-prefixed constant | ||
| #4124 | WordPress Beta Tester | 97 | 1 | 15 | 2k+ | Non-prefixed hook name | ||
| #4125 | Contact Listing for WP Job Manager | 97 | 5 | 5 | 6k+ | trademarked term | ||
| #4126 | WP-Stateless – Gravity Forms Addon | 97 | 2 | 9 | 400 | Non-prefixed hook name | ||
| #4127 | WPC Product Size Chart for WooCommerce | 97 | 19 | 2k+ | Non-prefixed class | |||
| #4128 | WPC Share Cart for WooCommerce | 97 | 32 | 1k+ | Non-prefixed hook name | |||
| #4129 | Easy Spam Filter – Privacy-Friendly CAPTCHA Alternative with Turnstile for Contact Form 7, WPForms, BuddyPress, Elementor | 97 | 2 | 14 | 1k+ | Dynamic hook name | ||
| #4130 | Yandex Pay and Split | 97 | 2 | 16 | 400 | Non-prefixed global variable | ||
| #4131 | Blocks for ACF Fields — Display Custom Fields in the Block Editor | 98 | 21 | 1k+ | Non-prefixed hook name | |||
| #4132 | Add Custom Header Images | 98 | 2 | 4 | 400 | Missing direct file access protection | ||
| #4133 | Add-On for Contact Form 7 to Notion | 98 | 2 | 7 | 400 | Non-prefixed hook name | ||
| #4134 | Post Category Filter (WP Admin) | 98 | 2 | 8 | 1k+ | trademarked term | ||
| #4135 | Advanced Post Excerpt | 98 | 2 | 2 | 2k+ | Non-prefixed hook name | ||
| #4136 | App for Cloudflare® | 98 | 10 | 1 | 1k+ | wp function not compatible with requires wp | ||
| #4137 | Art Woocommerce Custom Sale | 98 | 2 | 5 | 500 | trademarked term | ||
| #4138 | Author Bio Box | 98 | 1 | 6 | 1k+ | Non-prefixed global variable | ||
| #4139 | Better Blockquotes | 98 | 1 | 2 | 400 | Non-prefixed hook name | ||
| #4140 | Category Archives Block | 98 | 14 | 5 | 900 | Missing Arg Domain | ||
| #4141 | Checkout Fields for Blocks | 98 | 1 | 10 | 1k+ | Non-prefixed global variable | ||
| #4142 | Content Blocks Builder – Create blocks, repeater blocks with carousel, grid, popup layouts | 98 | 38 | 1k+ | Non-prefixed hook name | |||
| #4143 | ElasticPress Debugging Add-On | 98 | 2 | 10 | 800 | Non-prefixed hook name | ||
| #4144 | ESTO payment methods | 98 | 15 | 4 | 400 | wp function not compatible with requires wp | ||
| #4145 | Find My Blocks – Locate blocks on your site | 98 | 2 | 7 | 4k+ | Non-prefixed function | ||
| #4146 | Fluent Forms Connector for MailPoet | 98 | 28 | 7 | 1k+ | Text Domain Mismatch | ||
| #4147 | GF No Duplicates | 98 | 3 | 2 | 700 | Non-prefixed hook name | ||
| #4148 | HivePress Authentication | 98 | 1 | 5 | 1k+ | Missing Version | ||
| #4149 | Infinity TNC Divi Modules | 98 | 2 | 5 | 900 | Non-prefixed global variable | ||
| #4150 | International Telephone Input With Flags And Dial Codes | 98 | 7 | 7 | 1k+ | badly named files |