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 |
|---|---|---|---|---|---|---|---|---|
| #2701 | ST Demo Importer | 40 | 27 | 75 | 700 | Missing nonce verification | ||
| #2702 | Stax Addons for Elementor | 40 | 143 | 81 | 500 | Output is not escaped | ||
| #2703 | CPS | Age Verification | 40 | 127 | 35 | 900 | Unsafe printing function | ||
| #2704 | Tagging | 40 | 33 | 37 | 500 | Output is not escaped | ||
| #2705 | Theme and plugin translation for Polylang (TTfP) | 40 | 102 | 62 | 10k+ | Text Domain Mismatch | ||
| #2706 | Multiple Shipping Addresses for WooCommerce (Address Book) | 40 | 21 | 208 | 2k+ | Non-prefixed global variable | ||
| #2707 | ThemeZee Toolkit | 40 | 44 | 116 | 6k+ | Nonce verification recommended | ||
| #2708 | Track Geolocation Of Users Using Contact Form 7 | 40 | 17 | 173 | 900 | Nonce verification recommended | ||
| #2709 | turboSMTP | 40 | 114 | 112 | 400 | Unsafe printing function | ||
| #2710 | TW Recent Posts Widget | 40 | 97 | 14 | 1k+ | Output is not escaped | ||
| #2711 | Upcoming Events Lists | 40 | 75 | 17 | 900 | Text Domain Mismatch | ||
| #2712 | Url Rewrite Analyzer | 40 | 73 | 23 | 400 | Unsafe printing function | ||
| #2713 | WooBooster Partial COD for WooCommerce | 40 | 90 | 51 | 500 | Text Domain Mismatch | ||
| #2714 | WC Search Orders By Product | 40 | 47 | 66 | 800 | Nonce verification recommended | ||
| #2715 | Webo-facto | 40 | 41 | 102 | 800 | Nonce verification recommended | ||
| #2716 | Weight Based Pricing for WooCommerce | 40 | 167 | 86 | 600 | Text Domain Mismatch | ||
| #2717 | Widget Builder | 40 | 40 | 52 | 500 | Non-prefixed global variable | ||
| #2718 | Widget Menuizer | 40 | 44 | 26 | 600 | Missing Arg Domain | ||
| #2719 | Widgets Control | 40 | 92 | 47 | 800 | Output is not escaped | ||
| #2720 | WPC Frequently Bought Together for WooCommerce | 40 | 63 | 109 | 10k+ | Output is not escaped | ||
| #2721 | Eurobank WooCommerce Payment Gateway | 40 | 66 | 43 | 2k+ | Non Singular String Literal Domain | ||
| #2722 | Preview E-mails for WooCommerce | 40 | 35 | 37 | 30k+ | Unsafe printing function | ||
| #2723 | NP Quote Request for WooCommerce | 40 | 91 | 145 | 9k+ | Non-prefixed global variable | ||
| #2724 | Total Sales Counts for WooCommerce | 40 | 121 | 62 | 700 | SQL query is not prepared | ||
| #2725 | Additional Variation Images Gallery for WooCommerce | 40 | 60 | 129 | 20k+ | Non-prefixed global variable | ||
| #2726 | Wallet for WooCommerce | 40 | 32 | 524 | 20k+ | Non-prefixed hook name | ||
| #2727 | Simple Registration for WooCommerce | 40 | 27 | 55 | 4k+ | Missing nonce verification | ||
| #2728 | WooSidebars | 40 | 43 | 37 | 100k+ | Missing Translators Comment | ||
| #2729 | Custom CSS/JS | 40 | 58 | 34 | 800 | Text Domain Mismatch | ||
| #2730 | WP All Import – Job Listing Import for WP Job Manager | 40 | 35 | 27 | 2k+ | Output is not escaped | ||
| #2731 | Media Library Categories | 40 | 29 | 49 | 20k+ | Output is not escaped | ||
| #2732 | WP Meteor Website Speed Optimization Addon | 40 | 34 | 19 | 20k+ | Output is not escaped | ||
| #2733 | WP Paint – WordPress Image Editor | 40 | 30 | 29 | 6k+ | Missing Arg Domain | ||
| #2734 | WPC Force Sells for WooCommerce | 40 | 38 | 97 | 600 | Output is not escaped | ||
| #2735 | WPC Smart Price Filter for WooCommerce | 40 | 23 | 62 | 600 | Nonce verification recommended | ||
| #2736 | WPFront Notification Bar | 40 | 222 | 44 | 50k+ | Output is not escaped | ||
| #2737 | Yektanet Ecommerce | 40 | 45 | 103 | 1k+ | Request data is not unslashed | ||
| #2738 | My YouTube Channel | 40 | 54 | 38 | 5k+ | Output is not escaped | ||
| #2739 | AMP for WP – Accelerated Mobile Pages | 41 | 656 | 2,401 | 80k+ | Non-prefixed global variable | ||
| #2740 | ACF: Advanced Taxonomy Selector | 41 | 56 | 15 | 1k+ | Output is not escaped | ||
| #2741 | Add Chat App Button | 41 | 82 | 12 | 2k+ | Output is not escaped | ||
| #2742 | Advance Bank Payment Transfer Gateway | 41 | 105 | 62 | 1k+ | Text Domain Mismatch | ||
| #2743 | ACF: Google Map Extended | 41 | 141 | 8 | 700 | Text Domain Mismatch | ||
| #2744 | Advanced Excerpt | 41 | 69 | 43 | 70k+ | Unsafe printing function | ||
| #2745 | AffiliateWP – Affiliate Product Rates | 41 | 84 | 24 | 1k+ | Output is not escaped | ||
| #2746 | Schema – All In One Schema Rich Snippets | 41 | 598 | 180 | 30k+ | Text Domain Mismatch | ||
| #2747 | Announcer – Sticky Message Banner & Notification Bar | 41 | 110 | 27 | 10k+ | Output is not escaped | ||
| #2748 | Avatar Manager | 41 | 29 | 41 | 5k+ | Unsafe printing function | ||
| #2749 | BuddyPress Xprofile Custom Field Types | 41 | 39 | 189 | 4k+ | Missing nonce verification | ||
| #2750 | BuddyPress Edit Activity | 41 | 28 | 26 | 800 | Output is not escaped |