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 |
|---|---|---|---|---|---|---|---|---|
| #2501 | Templatiq | 38 | 31 | 94 | 900 | Non-prefixed hook name | ||
| #2502 | Variation Swatches for WooCommerce | 38 | 45 | 65 | 2k+ | Output is not escaped | ||
| #2503 | Broadcast | 38 | 21 | 107 | 1k+ | Direct Query | ||
| #2504 | Twenty Eleven Theme Extensions | 38 | 35 | 30 | 3k+ | Output is not escaped | ||
| #2505 | Termly – GDPR/CCPA Cookie Consent Banner | 38 | 54 | 92 | 80k+ | Non-prefixed global variable | ||
| #2506 | Unconfirmed | 38 | 20 | 79 | 1k+ | Nonce verification recommended | ||
| #2507 | VidShop – Shoppable Videos for WooCommerce | 38 | 49 | 144 | 1k+ | Database parameter is not escaped | ||
| #2508 | Visual Admin Customizer | 38 | 20 | 51 | 500 | Input is not sanitized | ||
| #2509 | W2S – Migrate WooCommerce to Shopify | 38 | 33 | 132 | 1k+ | Non-prefixed global variable | ||
| #2510 | WC-AC Hook | 38 | 44 | 72 | 1k+ | Missing nonce verification | ||
| #2511 | Shipping Packages for WooCommerce – Dropship from multiple locations like AliExpress, eBay, Amazon, Etsy | 38 | 94 | 26 | 900 | Non Singular String Literal Domain | ||
| #2512 | SSLCommerz Payment Gateway | 38 | 21 | 132 | 2k+ | Non-prefixed global variable | ||
| #2513 | WholesaleX – B2B & Wholesale Plugin for WooCommerce with Wholesale Prices | 38 | 40 | 180 | 2k+ | Non-prefixed global variable | ||
| #2514 | WishSuite – Wishlist for WooCommerce | 38 | 76 | 133 | 1k+ | Output is not escaped | ||
| #2515 | WPC Frequently Bought Together for WooCommerce | 38 | 80 | 162 | 10k+ | Output is not escaped | ||
| #2516 | Photo Reviews for WooCommerce | 38 | 26 | 222 | 10k+ | Request data is not unslashed | ||
| #2517 | Vietnam Checkout for WooCommerce | 38 | 93 | 137 | 10k+ | Nonce verification recommended | ||
| #2518 | Connect WooCommerce Shop to ERP/CRM, Verifactu and EU/VAT Compliance | 38 | 23 | 104 | 1k+ | Direct Query | ||
| #2519 | WooSwipe WooCommerce Gallery | 38 | 88 | 82 | 3k+ | Non-prefixed global variable | ||
| #2520 | WP Hebrew Date | 38 | 102 | 13 | 600 | Output is not escaped | ||
| #2521 | WP 404 Auto Redirect to Similar Post | 38 | 166 | 48 | 30k+ | Text Domain Mismatch | ||
| #2522 | WP Discord Post Plus – Supports Unlimited Channels | 38 | 116 | 34 | 700 | Text Domain Mismatch | ||
| #2523 | WP Mailgun SMTP | 38 | 99 | 51 | 900 | Text Domain Mismatch | ||
| #2524 | WP Media Categories | 38 | 40 | 103 | 800 | Nonce verification recommended | ||
| #2525 | External Store for Shopify | 38 | 97 | 33 | 2k+ | Output is not escaped | ||
| #2526 | WP Terms Popup – Terms and Conditions and Privacy Policy WordPress Popups | 38 | 299 | 58 | 3k+ | Non Singular String Literal Domain | ||
| #2527 | WPC Product Options for WooCommerce | 38 | 57 | 182 | 4k+ | Non-prefixed global variable | ||
| #2528 | Responsive Vertical Icon Menu | 38 | 188 | 85 | 700 | Output is not escaped | ||
| #2529 | WPTurbo -WordPress性能优化插件 | 38 | 20 | 34 | 600 | Output is not escaped | ||
| #2530 | Weather Underground | 38 | 64 | 27 | 3k+ | Output is not escaped | ||
| #2531 | Smart Custom 404 Error Page | 39 | 90 | 44 | 100k+ | Output is not escaped | ||
| #2532 | Accounting for WooCommerce | 39 | 87 | 115 | 500 | Unsafe printing function | ||
| #2533 | ACF: Google Font Selector | 39 | 57 | 45 | 3k+ | Output is not escaped | ||
| #2534 | Ad Invalid Click Protector (AICP) | 39 | 78 | 57 | 10k+ | Text Domain Mismatch | ||
| #2535 | Add Tiktok Pixel for Tiktok ads (+Woocommerce) | 39 | 94 | 25 | 2k+ | Output is not escaped | ||
| #2536 | Additional Order Filters for WooCommerce | 39 | 79 | 255 | 2k+ | Nonce verification recommended | ||
| #2537 | Advanced Product Fields (Product Addons) for WooCommerce | 39 | 145 | 145 | 50k+ | Output is not escaped | ||
| #2538 | AffiliatePages – Pros & Cons, Notice, and CTA Blocks for Affiliates | 39 | 91 | 53 | 2k+ | Output is not escaped | ||
| #2539 | AffiliateWP – Affiliate Area Tabs | 39 | 86 | 26 | 3k+ | Output is not escaped | ||
| #2540 | Load More Anything | 39 | 38 | 73 | 5k+ | Output is not escaped | ||
| #2541 | Accessibility by AllAccessible | 39 | 200 | 82 | 2k+ | Unsafe printing function | ||
| #2542 | Andreani WooCommerce | 39 | 21 | 86 | 700 | Non-prefixed global variable | ||
| #2543 | Archive Control | 39 | 151 | 67 | 1k+ | Unsafe printing function | ||
| #2544 | Australia Post WooCommerce Extension | 39 | 99 | 12 | 3k+ | Text Domain Mismatch | ||
| #2545 | Header Footer for Beaver Builder | 39 | 39 | 31 | 10k+ | Output is not escaped | ||
| #2546 | bbPress Voting | 39 | 27 | 53 | 500 | Output is not escaped | ||
| #2547 | Benchmark Email Lite | 39 | 86 | 23 | 1k+ | Output is not escaped | ||
| #2548 | Better User Search | 39 | 24 | 44 | 700 | SQL query is not prepared | ||
| #2549 | Block Editor Bootstrap Blocks | 39 | 173 | 50 | 900 | Text Domain Mismatch | ||
| #2550 | Bogo | 39 | 30 | 139 | 10k+ | Request data is not unslashed |