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 |
|---|---|---|---|---|---|---|---|---|
| #3701 | ACF Nav Menu Field | 85 | 16 | 6 | 2k+ | Text Domain Mismatch | ||
| #3702 | Advanced Post Manager | 85 | 11 | 18 | 4k+ | Request data is not unslashed | ||
| #3703 | Envíos Coordinadora Woocommerce (Oficial) – WordPress plugin | 85 | 11 | 11 | 600 | Missing Arg Domain | ||
| #3704 | GamiPress – Leaderboards Include/Exclude Users | 85 | 11 | 3 | 400 | Output is not escaped | ||
| #3705 | WP Ghost (Hide My WP Ghost) – Security & Firewall | 85 | 6 | 373 | 100k+ | Non-prefixed global variable | ||
| #3706 | JAMP Notes (Just Another Memo Plugin) | 85 | 170 | 183 | 400 | Text Domain Mismatch | ||
| #3707 | News Element Elementor Blog Magazine | 85 | 174 | 695 | 400 | Non-prefixed global variable | ||
| #3708 | Ocean Stick Anything | 85 | 6 | 6 | 20k+ | Missing Arg Domain | ||
| #3709 | Payment Integration Wompi | 85 | 44 | 11 | 1k+ | Missing Arg Domain | ||
| #3710 | Real Thumbnail Generator: Efficient regeneration of thumbnails in all sizes | 85 | 5 | 58 | 1k+ | Non-prefixed constant | ||
| #3711 | Salt Shaker | 85 | 15 | 13 | 6k+ | Interpolated SQL is not prepared | ||
| #3712 | Shiprocket | 85 | 56 | 15 | 10k+ | Text Domain Mismatch | ||
| #3713 | Social Share Button | 85 | 1 | 707 | 1k+ | Non-prefixed global variable | ||
| #3714 | States, Cities, and Places for WooCommerce | 85 | 101 | 192 | 6k+ | Non-prefixed global variable | ||
| #3715 | Visual Header | 85 | 6 | 42 | 400 | Non-prefixed function | ||
| #3716 | Widget CSS Classes | 85 | 47 | 8 | 80k+ | Non Singular String Literal Domain | ||
| #3717 | Notification for WooCommerce | Boost Your Sales – Recent Sales Popup – Live Feed Sales – Upsells | 85 | 9 | 35 | 6k+ | Non-prefixed constant | ||
| #3718 | WP Deferred JavaScripts | 85 | 10 | 7 | 800 | Output is not escaped | ||
| #3719 | WP fail2ban Add-on for Contact Form 7 | 85 | 10 | 18 | 800 | Non-prefixed constant | ||
| #3720 | WP fail2ban Add-on for Gravity Forms | 85 | 10 | 18 | 600 | Non-prefixed constant | ||
| #3721 | WPC Estimated Delivery Date for WooCommerce | 85 | 67 | 9k+ | Non-prefixed global variable | |||
| #3722 | WPC Variations Table for WooCommerce | 85 | 34 | 400 | Non-prefixed hook name | |||
| #3723 | Admin Notice | 86 | 7 | 1 | 600 | Output is not escaped | ||
| #3724 | Advanced Queries | 86 | 6 | 11 | 10k+ | Non-prefixed constant | ||
| #3725 | AM LottiePlayer | 86 | 5 | 12 | 800 | Non-prefixed global variable | ||
| #3726 | Astra Widgets | 86 | 10 | 15 | 200k+ | Missing direct file access protection | ||
| #3727 | Catch Breadcrumb | 86 | 1 | 29 | 2k+ | Non-prefixed global variable | ||
| #3728 | CBX User Online & Last Login | 86 | 3 | 87 | 800 | Non-prefixed global variable | ||
| #3729 | Helpful – Article Feedback Plugin | 86 | 8 | 17 | 600 | Database parameter is not escaped | ||
| #3730 | Feed JSON | 86 | 9 | 15 | 500 | Non-prefixed global variable | ||
| #3731 | Getnet Argentina para WooCommerce | 86 | 14 | 9 | 500 | Text Domain Mismatch | ||
| #3732 | La Poste Pro Expéditions WooCommerce | 86 | 3 | 95 | 1k+ | Non-prefixed global variable | ||
| #3733 | Latest Posts Block – Dynamic Posts Grid, Posts List, Posts Tile with Stunning Layouts for WordPress Blogs & Pages | 86 | 9 | 8 | 7k+ | Missing Version | ||
| #3734 | Shoppable Images (Lookbook) for WooCommerce | 86 | 21 | 31 | 6k+ | Missing direct file access protection | ||
| #3735 | Mailchimp List Subscribe Form | 86 | 22 | 156 | 60k+ | Non-prefixed global variable | ||
| #3736 | Modern Cart – WooCommerce Side Cart & Popup Cart | 86 | 8 | 95 | 50k+ | Non-prefixed global variable | ||
| #3737 | Ocean Product Sharing | 86 | 9 | 18 | 20k+ | Non-prefixed global variable | ||
| #3738 | PDF for Elementor Forms + Drag And Drop Template Builder | 86 | 668 | 31 | 1k+ | wp function not compatible with requires wp | ||
| #3739 | Pofily – WooCommerce Product Filters | 86 | 1 | 322 | 600 | Non-prefixed global variable | ||
| #3740 | Printus – Automatic Cloud Printing for WooCommerce | 86 | 28 | 20 | 800 | Missing Arg Domain | ||
| #3741 | Product Enquiry for WooCommerce (Now with AI Assistant) | 86 | 6 | 146 | 10k+ | Non-prefixed global variable | ||
| #3742 | ShopBuilder – WooCommerce Builder For Elementor | 86 | 9 | 414 | 10k+ | Non-prefixed global variable | ||
| #3743 | Social Sharing Block | 86 | 5 | 11 | 7k+ | Non-prefixed global variable | ||
| #3744 | Subtitles | 86 | 4 | 9 | 3k+ | Non-prefixed hook name | ||
| #3745 | Trusted Shops Easy Integration for WooCommerce | 86 | 5 | 67 | 6k+ | Non-prefixed hook name | ||
| #3746 | Ultimate Markdown – Markdown Editor, Importer, & Exporter | 86 | 6 | 15 | 2k+ | Database parameter is not escaped | ||
| #3747 | Unlimited Theme Addon For Elementor | 86 | 74 | 68 | 600 | Missing direct file access protection | ||
| #3748 | Variation Swatches for WooCommerce – Color, Image & Size Swatches | 86 | 2 | 17 | 200k+ | Request data is not unslashed | ||
| #3749 | VenoMaps – OpenStreetMap & Privacy-Friendly Geo Maps | 86 | 20 | 6 | 400 | wp function not compatible with requires wp | ||
| #3750 | Delete product images for WooCommerce | 86 | 3 | 13 | 1k+ | Direct Query |