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 |
|---|---|---|---|---|---|---|---|---|
| #3801 | WooCommerce Shortcodes | 88 | 5 | 7 | 9k+ | trademarked term | ||
| #3802 | Divi Carousel Free (Divi5 Support) | 88 | 268 | 26 | 30k+ | Text Domain Mismatch | ||
| #3803 | WPC Smart Linked Products – Upsells & Cross-sells for WooCommerce | 88 | 29 | 700 | Nonce verification recommended | |||
| #3804 | Address Validation and Autocomplete for WooCommerce | Addressfinder | 89 | 85 | 15 | 900 | Text Domain Mismatch | ||
| #3805 | Animate on Scroll | 89 | 2 | 4 | 4k+ | Input is not validated | ||
| #3806 | Archivarix External Images Importer | 89 | 8 | 35 | 1k+ | Non-prefixed global variable | ||
| #3807 | Better Variation Price for WooCommerce | 89 | 5 | 12 | 1k+ | Nonce verification recommended | ||
| #3808 | Bold pagos en linea | 89 | 4 | 32 | 4k+ | Non-prefixed global variable | ||
| #3809 | Breadcrumb Trail | 89 | 6 | 4 | 10k+ | Non-prefixed hook name | ||
| #3810 | Clarity – Ad blocker for WordPress | 89 | 5 | 19 | 2k+ | Non-prefixed hook name | ||
| #3811 | Convert to Blocks | 89 | 2 | 11 | 2k+ | Non-prefixed hook name | ||
| #3812 | EDD Auto Register | 89 | 13 | 7 | 900 | Missing Translators Comment | ||
| #3813 | AI Powered Marketing | 89 | 8 | 8 | 50k+ | Offloaded Content | ||
| #3814 | MAS Elementor | 89 | 19 | 216 | 1k+ | Non-prefixed hook name | ||
| #3815 | Mediavine Control Panel | 89 | 30 | 30 | 10k+ | Text Domain Mismatch | ||
| #3816 | Page Sidebar for Twenty Seventeen | 89 | 110 | 14 | 1k+ | Text Domain Mismatch | ||
| #3817 | QODE Wishlist for WooCommerce | 89 | 2 | 178 | 10k+ | Non-prefixed global variable | ||
| #3818 | Reading Time WP | 89 | 5 | 33 | 30k+ | Non-prefixed global variable | ||
| #3819 | seQura | 89 | 2 | 23 | 1k+ | Non-prefixed global variable | ||
| #3820 | Wbcom Designs – Shortcodes & Elementor Widgets For BuddyPress | 89 | 26 | 184 | 600 | Non-prefixed hook name | ||
| #3821 | Statify | 89 | 5 | 33 | 100k+ | Direct Query | ||
| #3822 | Tawk.To Live Chat | 89 | 102 | 27 | 100k+ | wp function not compatible with requires wp | ||
| #3823 | Location Pack for WooCommerce | 89 | 14 | 800 | Non-prefixed global variable | |||
| #3824 | Disable User Login | 89 | 1 | 20 | 500 | Direct Query | ||
| #3825 | WPC Smart Notifications for WooCommerce | 89 | 79 | 600 | Non-prefixed global variable | |||
| #3826 | WPC Variation Swatches for WooCommerce | 89 | 29 | 7k+ | Non-prefixed global variable | |||
| #3827 | WPGet API – Connect to any external REST API | 89 | 15 | 19 | 10k+ | Missing direct file access protection | ||
| #3828 | wetracked.io for WooCommerce | 89 | 4 | 9 | 700 | Non-prefixed constant | ||
| #3829 | aThemes Addons for Elementor | 90 | 13 | 96 | 8k+ | Non-prefixed global variable | ||
| #3830 | Beehive Analytics – Google Analytics Dashboard | 90 | 611 | 22 | 20k+ | Text Domain Mismatch | ||
| #3831 | Canvas | 90 | 2 | 115 | 10k+ | Non-prefixed global variable | ||
| #3832 | Cimo – Free Instant Image Optimizer & WebP Converter | 90 | 6 | 4 | 9k+ | Missing Translators Comment | ||
| #3833 | Conditional Blocks – Advanced Content Visibility Control for WordPress | 90 | 10 | 22 | 2k+ | Missing direct file access protection | ||
| #3834 | Content Anchor Links | 90 | 6 | 5 | 1k+ | Non-prefixed hook name | ||
| #3835 | Continue Shopping Anywhere for WooCommerce | 90 | 21 | 10 | 700 | Text Domain Mismatch | ||
| #3836 | CookiePro | Simplify Compliance with GDPR & EU Cookie Laws | 90 | 37 | 5 | 1k+ | Missing Arg Domain | ||
| #3837 | Easy Google Fonts | 90 | 12 | 26 | 100k+ | Non-prefixed hook name | ||
| #3838 | External files in Media Library | 90 | 16 | 68 | 400 | Direct Query | ||
| #3839 | Featured Image Admin Thumb | 90 | 7 | 10 | 20k+ | Non-prefixed hook name | ||
| #3840 | GamiPress – WooCommerce Points Per Purchase Total | 90 | 10 | 5 | 400 | trademarked term | ||
| #3841 | Genesis Custom Blocks | 90 | 7 | 22 | 10k+ | Non-prefixed function | ||
| #3842 | ShareThis Dashboard for Google Analytics | 90 | 4 | 272 | 80k+ | Non-prefixed global variable | ||
| #3843 | User Profile Picture | 90 | 50 | 40k+ | Non-prefixed hook name | |||
| #3844 | OAuth Single Sign On – SSO (OAuth Client) | 90 | 269 | 36 | 6k+ | wp function not compatible with requires wp | ||
| #3845 | PHP Native Password Hash | 90 | 7 | 6 | 2k+ | Non-prefixed global variable | ||
| #3846 | Payment Forms for Paystack | 90 | 494 | 23 | 3k+ | Text Domain Mismatch | ||
| #3847 | Post Export Import with Media | 90 | 34 | 41 | 1k+ | Missing Translators Comment | ||
| #3848 | Power Coupons for WooCommerce | 90 | 6 | 91 | 20k+ | Non-prefixed global variable | ||
| #3849 | Prevent Browser Caching | 90 | 2 | 18 | 10k+ | Non-prefixed hook name | ||
| #3850 | WP All Export – Product Export Add-On for WooCommerce | 90 | 14 | 26 | 10k+ | Non-prefixed hook name |