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 |
|---|---|---|---|---|---|---|---|---|
| #4001 | WPC Product Quantity for WooCommerce | 94 | 32 | 2k+ | Non-prefixed global variable | |||
| #4002 | Art WooCommerce Order One Click | 95 | 14 | 40 | 4k+ | Non-prefixed global variable | ||
| #4003 | Better Block Editor (BBE) | 95 | 4 | 53 | 5k+ | Non-prefixed global variable | ||
| #4004 | Blocks to Shortcode – Use blocks everywhere: in page templates, Elementor, etc. | 95 | 8 | 500 | Non-prefixed global variable | |||
| #4005 | Bulk Media Register | 95 | 8 | 35 | 8k+ | Non-prefixed hook name | ||
| #4006 | Clicky by Yoast | 95 | 10 | 7 | 4k+ | Missing direct file access protection | ||
| #4007 | Custom Login Page Customizer | 95 | 3 | 55 | 50k+ | Non-prefixed global variable | ||
| #4008 | Complianz – Terms and Conditions | 95 | 13 | 26 | 300k+ | Non-prefixed global variable | ||
| #4009 | Contact Form to Any API | 95 | 18 | 8k+ | Non-prefixed class | |||
| #4010 | Gravity Forms ConvertKit Add-On | 95 | 65 | 11 | 700 | Text Domain Mismatch | ||
| #4011 | Customify | 95 | 1 | 101 | 10k+ | Non-prefixed global variable | ||
| #4012 | Custom Post Carousels with Owl | 95 | 3 | 27 | 2k+ | Non-prefixed hook name | ||
| #4013 | Email Log | 95 | 5 | 53 | 80k+ | Non-prefixed hook name | ||
| #4014 | Ghost Kit – Page Builder Blocks, Motion Effects & Extensions | 95 | 17 | 60 | 7k+ | Non-prefixed hook name | ||
| #4015 | Htaccess File Editor – Easily Edit, Backup, Restore .htaccess file | 95 | 11 | 15 | 9k+ | Non-prefixed global variable | ||
| #4016 | Image Rotation Repair | 95 | 4 | 5 | 7k+ | Deprecated function: _rotate_image_resource | ||
| #4017 | Manage – Centralized site maintenance and monitoring | 95 | 5 | 47 | 70k+ | Direct Query | ||
| #4018 | Meta Box | 95 | 12 | 16 | 500k+ | Non-prefixed hook name | ||
| #4019 | Multibanco, MB WAY, Credit card, Apple Pay, Google Pay, Payshop, Cofidis Pay, and PIX (ifthenpay) for WooCommerce | 95 | 86 | 8k+ | Non-prefixed function | |||
| #4020 | Mystery Themes Demo Importer | 95 | 76 | 7k+ | Non-prefixed global variable | |||
| #4021 | Open Graph | 95 | 74 | 8 | 10k+ | wp function not compatible with requires wp | ||
| #4022 | Posts in Page | 95 | 10 | 12 | 10k+ | date date | ||
| #4023 | Seriously Simple Speakers | 95 | 19 | 13 | 1k+ | Missing Translators Comment | ||
| #4024 | Smart Brands for WooCommerce | 95 | 150 | 400 | Non-prefixed global variable | |||
| #4025 | Style Manager | 95 | 3 | 400 | Nonce verification recommended | |||
| #4026 | Supreme Maps | 95 | 38 | 15 | 2k+ | Text Domain Mismatch | ||
| #4027 | WCBoost – Variation Swatches | 95 | 1 | 11 | 50k+ | Non-prefixed hook name | ||
| #4028 | Translate WordPress with Weglot – Multilingual AI Translation | 95 | 131 | 50k+ | Non-prefixed global variable | |||
| #4029 | Minicart for WooCommerce | 95 | 1 | 59 | 1k+ | Non-prefixed global variable | ||
| #4030 | WPC Product Timer for WooCommerce | 95 | 17 | 3k+ | Non-prefixed class | |||
| #4031 | Simla.com | 95 | 22 | 58 | 400 | Non-prefixed class | ||
| #4032 | Print Invoice & Delivery Notes for WooCommerce | 95 | 5 | 58 | 30k+ | Non-prefixed global variable | ||
| #4033 | Improved External Products for WooCommerce | 95 | 1 | 8 | 1k+ | Non-prefixed class | ||
| #4034 | WP Approve User | 95 | 20 | 11 | 3k+ | Text Domain Mismatch | ||
| #4035 | WPC Buy Now Button for WooCommerce | 95 | 18 | 10k+ | Non-prefixed class | |||
| #4036 | WPGlobus | 95 | 3 | 83 | 9k+ | Non-prefixed global variable | ||
| #4037 | WP Telegram (Auto Post and Notifications) | 95 | 8 | 15 | 30k+ | Non-prefixed function | ||
| #4038 | WP Telegram Login & Register | 95 | 11 | 21 | 1k+ | Non-prefixed global variable | ||
| #4039 | WebberZone Snippetz – Header, Body and Footer manager | 96 | 1 | 53 | 2k+ | Dynamic hook name | ||
| #4040 | Addonify – Quick View For WooCommerce | 96 | 15 | 21 | 1k+ | Non-prefixed global variable | ||
| #4041 | Directorist AddonsKit for Elementor | 96 | 4 | 33 | 10k+ | Non-prefixed global variable | ||
| #4042 | Admin Notices Manager | 96 | 70 | 3 | 10k+ | Missing Arg Domain | ||
| #4043 | Admin Page Spider | 96 | 10 | 27 | 1k+ | Non-prefixed global variable | ||
| #4044 | Portfolio Grid – Filterable Gallery, Grid & Slider Showcase | 96 | 3 | 50 | 900 | Non-prefixed function | ||
| #4045 | AffiliateX – Amazon Affiliate Plugin, Product Boxes, Comparison Tables & Affiliate Link Tracking | 96 | 73 | 10k+ | Non-prefixed global variable | |||
| #4046 | AI Bud – AI Content Generator, AI Chatbot, ChatGPT, Gemini, GPT-4o | 96 | 5 | 54 | 2k+ | Non-prefixed global variable | ||
| #4047 | Amplitude – Analytics, Session Replay, A/B testing and CDP for your website | 96 | 3 | 12 | 700 | Missing Version | ||
| #4048 | Analytify – Dashboard Widget for Google Analytics | 96 | 21 | 12 | 10k+ | wp function not compatible with requires wp | ||
| #4049 | Blank Slate | 96 | 8 | 3 | 10k+ | Missing direct file access protection | ||
| #4050 | Carousel Slider Block for Gutenberg | 96 | 48 | 12 | 40k+ | Text Domain Mismatch |