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 |
|---|---|---|---|---|---|---|---|---|
| #1 | BulletProof Security | 0 | 5,048 | 4,949 | 20k+ | Output is not escaped | ||
| #2 | Live Shopping & Shoppable Videos For WooCommerce | 0 | 79 | 174 | 400 | Non-prefixed global variable | ||
| #3 | Plugin Check (PCP) | 0 | 128 | 132 | 10k+ | Exception output is not escaped | ||
| #4 | Themify Builder | 9 | 5,304 | 2,136 | 5k+ | Text Domain Mismatch | ||
| #5 | JetBackup – Backup, Restore & Migrate | 10 | 1,563 | 149 | 200k+ | Exception output is not escaped | ||
| #6 | Easy WP SMTP – WordPress SMTP and Email Logs: Gmail SMTP, Office 365, Outlook, Custom SMTP, and more | 15 | 45 | 166 | 500k+ | Database parameter is not escaped | ||
| #7 | Visual Composer Website Builder | 16 | 82 | 320 | 40k+ | Non-prefixed global variable | ||
| #8 | MDTF – Meta Data and Taxonomies Filter | 16 | 1,550 | 1,956 | 1k+ | Non-prefixed global variable | ||
| #9 | AnyComment | 17 | 445 | 449 | 5k+ | Output is not escaped | ||
| #10 | RestroPress – Online Food Ordering System | 17 | 524 | 3,155 | 1k+ | Non-prefixed global variable | ||
| #11 | Efí Bank | 17 | 886 | 553 | 400 | Exception output is not escaped | ||
| #12 | Dynamic Team Manager – Team Member Showcase with grid, slider, table Elementor widget & shortcode | 17 | 922 | 2,014 | 900 | Non-prefixed global variable | ||
| #13 | wpForo Forum | 17 | 4,048 | 2,922 | 20k+ | Unsafe printing function | ||
| #14 | WPtouch – Make your WordPress Website Mobile-Friendly | 17 | 1,466 | 325 | 50k+ | Text Domain Mismatch | ||
| #15 | Pagopar – WooCommerce Gateway | 18 | 530 | 1,215 | 400 | Non-prefixed global variable | ||
| #16 | Podlove Podcast Publisher | 18 | 2,354 | 1,433 | 3k+ | Output is not escaped | ||
| #17 | Property Hive | 18 | 1,957 | 6,027 | 3k+ | Missing nonce verification | ||
| #18 | Realtyna Organic IDX plugin + WPL Real Estate | 18 | 930 | 3,636 | 2k+ | Non-prefixed global variable | ||
| #19 | Shopping Cart & eCommerce Store | 18 | 5,373 | 17,466 | 3k+ | Non-prefixed global variable | ||
| #20 | WPPizza – A Restaurant Plugin | 18 | 4,689 | 2,703 | 1k+ | Text Domain Mismatch | ||
| #21 | Element Pack Addons for Elementor – Elementor Widgets, Elementor Templates, Elementor Addons | 19 | 10,340 | 360 | 100k+ | Text Domain Mismatch | ||
| #22 | Block Slider – Responsive Image Slider, Video Slider & Post Slider | 19 | 555 | 1,291 | 3k+ | Non-prefixed global variable | ||
| #23 | Advanced File Manager – Ultimate File Manager for WordPress And Document Library Solution | 19 | 1,218 | 901 | 100k+ | Exception output is not escaped | ||
| #24 | Go Fetch Jobs (for WP Job Manager) | 19 | 1,410 | 1,741 | 700 | Non-prefixed global variable | ||
| #25 | AI Infographic Maker | 19 | 1,383 | 599 | 600 | Output is not escaped | ||
| #26 | JetFormBuilder — Dynamic Blocks Form Builder | 19 | 2,103 | 1,604 | 80k+ | Text Domain Mismatch | ||
| #27 | Netgsm | 19 | 334 | 308 | 1k+ | Setting is missing a sanitization callback | ||
| #28 | Verified Reviews (Avis Vérifiés) | 19 | 671 | 1,136 | 700 | Non-prefixed global variable | ||
| #29 | Really Simple Security – Simple and Performant Security (formerly Really Simple SSL) | 19 | 536 | 379 | 3m+ | Missing Translators Comment | ||
| #30 | Membership Plugin – Kadence Memberships | 19 | 5,083 | 2,982 | 9k+ | Text Domain Mismatch | ||
| #31 | Scrollsequence – Cinematic Scroll Image Animation Plugin | 19 | 878 | 1,528 | 4k+ | Non-prefixed global variable | ||
| #32 | SendPress Newsletters | 19 | 2,293 | 1,422 | 1k+ | Output is not escaped | ||
| #33 | SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments | 19 | 533 | 1,149 | 80k+ | Non-prefixed global variable | ||
| #34 | WP Email Template | 19 | 344 | 345 | 2k+ | Exception output is not escaped | ||
| #35 | WP Import Export Lite | 19 | 737 | 979 | 40k+ | Non-prefixed global variable | ||
| #36 | WP Directory Kit | 19 | 1,504 | 2,638 | 2k+ | Non-prefixed global variable | ||
| #37 | WPJAM Basic | 19 | 325 | 346 | 4k+ | Output is not escaped | ||
| #38 | AweBooking – Hotel Booking System | 20 | 309 | 514 | 1k+ | Non-prefixed global variable | ||
| #39 | Brizy – Page Builder | 20 | 586 | 726 | 70k+ | Output is not escaped | ||
| #40 | Broadstreet | 20 | 434 | 273 | 700 | Output is not escaped | ||
| #41 | Post Form – Registration Form – Profile Form for User Profiles – Frontend Content Forms for User Submissions (UGC) | 20 | 736 | 2,112 | 900 | Non-prefixed global variable | ||
| #42 | SysBasics Customize My Account for WooCommerce – Live My Account Customizer | 20 | 743 | 911 | 8k+ | Non-prefixed global variable | ||
| #43 | Download Monitor | 20 | 423 | 1,364 | 80k+ | Non-prefixed hook name | ||
| #44 | Event Espresso – Event Registration & Ticketing Sales | 20 | 12,698 | 2,135 | 600 | Text Domain Mismatch | ||
| #45 | Event Organiser | 20 | 1,104 | 544 | 20k+ | Text Domain Mismatch | ||
| #46 | GiveWP – Donation Plugin and Fundraising Platform | 20 | 3,410 | 3,554 | 100k+ | Output is not escaped | ||
| #47 | Leaky Paywall | 20 | 322 | 789 | 600 | Nonce verification recommended | ||
| #48 | Link Library | 20 | 1,942 | 1,394 | 10k+ | Unsafe printing function | ||
| #49 | MBE eShip | 20 | 527 | 740 | 1k+ | Non-prefixed global variable | ||
| #50 | Brevo – Email, SMS, Web Push, Chat, and more. | 20 | 460 | 646 | 100k+ | Request data is not unslashed |