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 |
|---|---|---|---|---|---|---|---|---|
| #4051 | Cookie Wow PDPA Banner | 96 | 7 | 6 | 1k+ | Missing direct file access protection | ||
| #4052 | Reduce Unused CSS Solution with Critical CSS For WP | 96 | 48 | 12 | 1k+ | wp function not compatible with requires wp | ||
| #4053 | Easy Footnotes | 96 | 6 | 22 | 8k+ | Non-prefixed global variable | ||
| #4054 | Elegant Blog Themes Demo Importer | 96 | 22 | 13 | 500 | Text Domain Mismatch | ||
| #4055 | Elements Plus! | 96 | 11 | 20 | 6k+ | Non-prefixed function | ||
| #4056 | Enable SVG, WebP, and ICO Upload | 96 | 12 | 16 | 10k+ | Non-prefixed global variable | ||
| #4057 | Fixed Bottom Menu | 96 | 15 | 45 | 5k+ | Non-prefixed hook name | ||
| #4058 | Genesis Connect for WooCommerce | 96 | 45 | 17 | 10k+ | Text Domain Mismatch | ||
| #4059 | Gravity Forms Klaviyo Add-On | 96 | 28 | 15 | 1k+ | Text Domain Mismatch | ||
| #4060 | iGen SEO | 96 | 5 | 10 | 600 | Non-prefixed hook name | ||
| #4061 | Kit (formerly ConvertKit) for WPForms | 96 | 11 | 16 | 1k+ | Non-prefixed global variable | ||
| #4062 | List Pages Shortcode | 96 | 5 | 9 | 5k+ | Non-prefixed hook name | ||
| #4063 | ProveSource Social Proof | 96 | 26 | 7 | 2k+ | wp function not compatible with requires wp | ||
| #4064 | QODE Variation Swatches for WooCommerce | 96 | 1 | 87 | 1k+ | Non-prefixed global variable | ||
| #4065 | Share on Mastodon | 96 | 24 | 3 | 1k+ | wp function not compatible with requires wp | ||
| #4066 | Simple GDPR Cookie Compliance | 96 | 10 | 16 | 5k+ | Non-prefixed global variable | ||
| #4067 | Product Category Showcase for WooCommerce | 96 | 8 | 45 | 1k+ | Non-prefixed global variable | ||
| #4068 | Display Eventbrite Events | 96 | 31 | 3k+ | error log print r | |||
| #4069 | Cart Weight for WooCommerce | 96 | 5 | 12 | 1k+ | Non-prefixed global variable | ||
| #4070 | Variation Images Gallery for WooCommerce | 96 | 87 | 10k+ | Non-prefixed global variable | |||
| #4071 | Claudio Sanches – Correios for WooCommerce | 96 | 8 | 15 | 20k+ | Non-prefixed global variable | ||
| #4072 | WooCommerce Product Details Customiser | 96 | 5 | 6 | 2k+ | trademarked term | ||
| #4073 | WP Job Manager – Company Profiles | 96 | 3 | 10 | 2k+ | trademarked term | ||
| #4074 | Lucky Wheel Giveaway | 96 | 3 | 27 | 500 | Non-prefixed constant | ||
| #4075 | WP Reset | 96 | 8 | 31 | 300k+ | Non-prefixed global variable | ||
| #4076 | ذره بین | 96 | 5 | 4 | 400 | curl curl setopt | ||
| #4077 | ACF Autosize | 97 | 3 | 5 | 4k+ | Non-prefixed hook name | ||
| #4078 | ACF: Better Search | 97 | 11 | 10 | 40k+ | Missing direct file access protection | ||
| #4079 | Admin Help Docs | 97 | 9 | 31 | 500 | Non-prefixed global variable | ||
| #4080 | Advanced Google reCAPTCHA | 97 | 3 | 15 | 200k+ | Non-prefixed global variable | ||
| #4081 | Advanced Query Loop | 97 | 1 | 11 | 6k+ | Non-prefixed hook name | ||
| #4082 | Autocomplete Address for WooCommerce | 97 | 4 | 1 | 8k+ | Non-prefixed hook name | ||
| #4083 | Base (formerly BaseLinker) – 300+ marketplaces, 150+ carriers & PIM & OMS & WMS in one | 97 | 2 | 16 | 4k+ | Direct Query | ||
| #4084 | Clean Login | 97 | 2 | 13 | 6k+ | Non-prefixed hook name | ||
| #4085 | Custom Shipping Methods for WooCommerce – Create Weight based Shipping, Conditional Shipping, Table Rate Shipping and much more | 97 | 2 | 32 | 3k+ | Non-prefixed global variable | ||
| #4086 | Markdown Editor (Formerly Dark Mode) | 97 | 2 | 19 | 1k+ | Non-prefixed function | ||
| #4087 | Default Image Settings | 97 | 25 | 3 | 500 | Missing Arg Domain | ||
| #4088 | Disable New User Notification Emails | 97 | 2 | 6 | 4k+ | Non-prefixed hook name | ||
| #4089 | Meta Field Block – Display custom fields in the Block Editor without coding | 97 | 1 | 11 | 10k+ | Non-prefixed hook name | ||
| #4090 | Download List Block with Icons | 97 | 2 | 27 | 400 | slow db query meta query | ||
| #4091 | Drip – Marketing Automation for WooCommerce | 97 | 23 | 7 | 1k+ | Non Singular String Literal Domain | ||
| #4092 | Easy Widget Columns | 97 | 3 | 17 | 400 | Non-prefixed global variable | ||
| #4093 | Email Customizer for WooCommerce | Drag and Drop Email Templates Builder | 97 | 65 | 9k+ | Non-prefixed hook name | |||
| #4094 | Emalls Extraction API – Official | 97 | 3 | 3 | 7k+ | Non-prefixed class | ||
| #4095 | Hierarchical HTML Sitemap | 97 | 3 | 5 | 4k+ | Post Not In exclude | ||
| #4096 | Linked Variations for WooCommerce – Link Separate Products by Attribute with Swatches, Quick View & Shortcodes | 97 | 12 | 34 | 500 | Non-prefixed global variable | ||
| #4097 | Make Column Clickable for Elementor | 97 | 5 | 2 | 100k+ | Non-prefixed hook name | ||
| #4098 | MB Rest API | 97 | 5 | 5 | 1k+ | wp function not compatible with requires wp | ||
| #4099 | MO Cache | 97 | 3 | 3 | 1k+ | Non-prefixed hook name | ||
| #4100 | Nepali Date Converter | 97 | 2 | 25 | 900 | Non-prefixed function |