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 |
|---|---|---|---|---|---|---|---|---|
| #3101 | Accordions | 55 | 1 | 101 | 20k+ | slow db query meta query | ||
| #3102 | Admin Bar User Switching | 55 | 16 | 31 | 2k+ | Input is not validated | ||
| #3103 | Advanced Custom Order Status for WooCommerce | 55 | 44 | 33 | 500 | Text Domain Mismatch | ||
| #3104 | AI Assistant for Elementor – Auto Content Writer, OpenAI, ChatGPT | 55 | 151 | 24 | 400 | Text Domain Mismatch | ||
| #3105 | Quick Buy Now Button for WooCommerce | 55 | 37 | 39 | 5k+ | Output is not escaped | ||
| #3106 | Email Template Customizer for WooCommerce | 55 | 552 | 248 | 20k+ | Text Domain Mismatch | ||
| #3107 | Go Live Update Urls | 55 | 11 | 49 | 80k+ | Non-prefixed hook name | ||
| #3108 | Gutenify – Visual Site Builder Blocks & Site Templates | 55 | 66 | 40 | 5k+ | Missing Arg Domain | ||
| #3109 | Head Meta Data | 55 | 19 | 42 | 10k+ | Non-prefixed function | ||
| #3110 | Holded integration | 55 | 72 | 23 | 2k+ | Non Singular String Literal Domain | ||
| #3111 | Insert Pages | 55 | 52 | 30 | 40k+ | Output is not escaped | ||
| #3112 | JetWidgets For Elementor | 55 | 99 | 279 | 10k+ | Non-prefixed global variable | ||
| #3113 | Landingi Landing Pages | 55 | 18 | 23 | 2k+ | Input is not sanitized | ||
| #3114 | LifterLMS Labs | 55 | 51 | 8 | 2k+ | Output is not escaped | ||
| #3115 | LoginPress | wp-login Custom Login Page Customizer | 55 | 124 | 301 | 200k+ | Non-prefixed function | ||
| #3116 | Mailster for WooCommerce | 55 | 23 | 32 | 1k+ | Non-prefixed global variable | ||
| #3117 | LexonRank: AI Link Building, Free Backlinks & SEO Automation | 55 | 15 | 20 | 1k+ | Nonce verification recommended | ||
| #3118 | Mortgage Calculator | 55 | 98 | 16 | 4k+ | Text Domain Mismatch | ||
| #3119 | Popup Maker – Boost Sales, Conversions, Optins, Subscribers with the Ultimate WP Popup Builder | 55 | 54 | 692 | 700k+ | Non-prefixed hook name | ||
| #3120 | Popup Maker – Responsive popup, Exit Intent Pop up, Email Optins, Autoresponder & More | 55 | 44 | 64 | 7k+ | Text Domain Mismatch | ||
| #3121 | Quick and Easy Testimonials | 55 | 62 | 32 | 3k+ | Non Singular String Literal Domain | ||
| #3122 | Refer A Friend for WooCommerce by WPGens | 55 | 77 | 21 | 1k+ | Text Domain Mismatch | ||
| #3123 | Slider Block by Sliderberg – WordPress Slider & Carousel Plugin for Gutenberg | 55 | 23 | 19 | 1k+ | Output is not escaped | ||
| #3124 | Themeflection Numbers – Number Counter and Animated Numbers | 55 | 224 | 73 | 3k+ | Text Domain Mismatch | ||
| #3125 | Trusona for WordPress | 55 | 8 | 34 | 500 | Non-prefixed function | ||
| #3126 | VK Block Patterns | 55 | 8 | 61 | 100k+ | Non-prefixed function | ||
| #3127 | Payment Integration Wompi – El Salvador | 55 | 50 | 27 | 800 | Text Domain Mismatch | ||
| #3128 | WPCafe – Restaurant Menu, Online Food Ordering & Table Booking System | 55 | 22 | 35 | 5k+ | Output is not escaped | ||
| #3129 | WP Ultimate Review | 55 | 23 | 381 | 70k+ | Non-prefixed global variable | ||
| #3130 | WPC Smart Messages for WooCommerce | 55 | 6 | 84 | 1k+ | Non-prefixed global variable | ||
| #3131 | Advanced Floating Content Lite | 56 | 88 | 49 | 7k+ | Text Domain Mismatch | ||
| #3132 | SMTP by BestWebSoft | 56 | 486 | 175 | 1k+ | Text Domain Mismatch | ||
| #3133 | CHEQ Essentials | 56 | 14 | 49 | 700 | Request data is not unslashed | ||
| #3134 | Form data to kintone | 56 | 25 | 22 | 1k+ | Output is not escaped | ||
| #3135 | LearnPress – Course Wishlist | 56 | 35 | 22 | 20k+ | Output is not escaped | ||
| #3136 | Maya Business Plugin | 56 | 9 | 39 | 600 | Input is not validated | ||
| #3137 | PuzzleMe – Interactive Puzzles for WordPress – Easily publish crosswords, quizzes, word searches and more | 56 | 36 | 15 | 1k+ | Output is not escaped | ||
| #3138 | Smooth Back To Top Button | 56 | 41 | 7 | 40k+ | Output is not escaped | ||
| #3139 | Subscriptions for WooCommerce with Stripe Recurring Payments | 56 | 8 | 487 | 800 | Non-prefixed global variable | ||
| #3140 | TableKit: Table Builder Blocks for Gutenberg | 56 | 80 | 20 | 3k+ | Missing Translators Comment | ||
| #3141 | TextBuilder | 56 | 20 | 34 | 4k+ | Missing Arg Domain | ||
| #3142 | WP-Optimize – Cache, Compress images, Minify & Clean database to boost page speed & performance | 56 | 5 | 774 | 1m+ | Non-prefixed global variable | ||
| #3143 | Social Chat – Click To Chat App Button | 56 | 81 | 45 | 200k+ | Text Domain Mismatch | ||
| #3144 | BestWebSoft’s Pinterest | 57 | 490 | 176 | 500 | Text Domain Mismatch | ||
| #3145 | Gravity PDF | 57 | 116 | 152 | 20k+ | Non-prefixed global variable | ||
| #3146 | iConvert Promoter | 57 | 98 | 217 | 1k+ | Non-prefixed global variable | ||
| #3147 | JSON API User | 57 | 17 | 34 | 1k+ | Non-prefixed hook name | ||
| #3148 | Search Exclude | 57 | 73 | 40 | 50k+ | Text Domain Mismatch | ||
| #3149 | Team View | 57 | 32 | 19 | 900 | Output is not escaped | ||
| #3150 | WC Call For Price | 57 | 19 | 55 | 1k+ | Non-prefixed global variable |