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 |
|---|---|---|---|---|---|---|---|---|
| #51 | MAS Videos | 20 | 519 | 1,693 | 1k+ | Non-prefixed global variable | ||
| #52 | Microthemer Lite – Visual Editor to Customize CSS | 20 | 1,004 | 1,699 | 10k+ | Non-prefixed global variable | ||
| #53 | Nimble Page Builder | 20 | 1,591 | 1,684 | 30k+ | Missing Arg Domain | ||
| #54 | Shipping for Nova Poshta | 20 | 598 | 923 | 400 | Output is not escaped | ||
| #55 | Pix por Piggly (para Woocommerce) | 20 | 547 | 195 | 4k+ | Exception output is not escaped | ||
| #56 | Powered Cache – Caching and Optimization for WordPress – Easily Improve PageSpeed & Web Vitals Score | 20 | 147 | 231 | 3k+ | Exception output is not escaped | ||
| #57 | Pronamic Pay | 20 | 266 | 1,078 | 2k+ | Non-prefixed global variable | ||
| #58 | Remove Add to Cart WooCommerce | 20 | 616 | 1,378 | 4k+ | Non-prefixed global variable | ||
| #59 | Robin Image Optimizer – Unlimited Image Optimization, WebP & AVIF | 20 | 556 | 543 | 100k+ | Output is not escaped | ||
| #60 | SpeakOut! Email Petitions | 20 | 850 | 994 | 2k+ | Missing nonce verification | ||
| #61 | Events Manager – OpenStreetMaps | 20 | 559 | 444 | 600 | Output is not escaped | ||
| #62 | Razorpay for WooCommerce | 20 | 975 | 859 | 100k+ | Non-prefixed function | ||
| #63 | WP Minify Fix | 20 | 306 | 380 | 800 | Output is not escaped | ||
| #64 | Premium Packages – Sell Digital Products Securely | 20 | 2,017 | 2,181 | 2k+ | Non-prefixed global variable | ||
| #65 | School Management System – WPSchoolPress | 20 | 245 | 5,285 | 1k+ | Non-prefixed global variable | ||
| #66 | Store Locator WordPress | 21 | 2,494 | 1,628 | 10k+ | Text Domain Mismatch | ||
| #67 | Backup Migration | 21 | 999 | 1,081 | 80k+ | Non-prefixed global variable | ||
| #68 | Forumax – AI Powered Advanced Community Forum Plugin | 21 | 4,936 | 4,353 | 600 | Text Domain Mismatch | ||
| #69 | bbPress | 21 | 929 | 3,672 | 100k+ | Non-prefixed function | ||
| #70 | Kadence Security – Password, Two Factor Authentication, and Brute Force Protection | 21 | 1,060 | 957 | 700k+ | Missing Translators Comment | ||
| #71 | Pinpoint Booking System – Version 2 | 21 | 634 | 328 | 3k+ | Missing direct file access protection | ||
| #72 | Booking Ultra Pro Appointments Booking Calendar Plugin | 21 | 761 | 2,083 | 400 | Request data is not unslashed | ||
| #73 | Better Messages – Chat Rooms, Group Chat, Private Messages & AI Chat Bots | 21 | 1,621 | 2,038 | 10k+ | Direct Query | ||
| #74 | rtMedia for WordPress, BuddyPress and bbPress | 21 | 363 | 647 | 7k+ | Non-prefixed constant | ||
| #75 | BWD Elementor Addons | 21 | 670 | 1,168 | 400 | Non-prefixed global variable | ||
| #76 | SMS Extension for Contact Form 7 | 21 | 720 | 1,387 | 400 | Non-prefixed global variable | ||
| #77 | Comet Cache | 21 | 857 | 245 | 20k+ | Output is not escaped | ||
| #78 | Cost Calculator Builder | 21 | 322 | 766 | 20k+ | Non-prefixed global variable | ||
| #79 | Daily Prayer Time | 21 | 947 | 1,780 | 1k+ | Non-prefixed global variable | ||
| #80 | DELUCKS SEO | 21 | 362 | 1,171 | 400 | Missing nonce verification | ||
| #81 | Free Downloads WooCommerce | 21 | 430 | 359 | 4k+ | Output is not escaped | ||
| #82 | Duplicator – Backups & Migration Plugin – Cloud Backups, Scheduled Backups, & More | 21 | 2,572 | 1,277 | 1m+ | Output is not escaped | ||
| #83 | Envo Extra | 21 | 878 | 600 | 20k+ | Text Domain Mismatch | ||
| #84 | eRoom – Webinar & Meeting Plugin for Zoom, Google Meet, Microsoft Teams | 21 | 186 | 437 | 9k+ | Non-prefixed global variable | ||
| #85 | Eupago Gateway For Woocommerce | 21 | 576 | 233 | 2k+ | Output is not escaped | ||
| #86 | EventPrime – Events Calendar, Bookings and Tickets | 21 | 873 | 4,310 | 7k+ | Non-prefixed global variable | ||
| #87 | Feeds for YouTube (YouTube video, channel, and gallery plugin) | 21 | 506 | 995 | 100k+ | Output is not escaped | ||
| #88 | FileOrganizer – WordPress File Manager | 21 | 536 | 241 | 200k+ | unlink unlink | ||
| #89 | Filter Everything — WordPress & WooCommerce Filters | 21 | 643 | 933 | 50k+ | Non-prefixed global variable | ||
| #90 | Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More | 21 | 52 | 2,063 | 300k+ | Non-prefixed global variable | ||
| #91 | Front End Users | 21 | 719 | 2,759 | 400 | Non-prefixed global variable | ||
| #92 | Frontend Dashboard | 21 | 384 | 945 | 500 | Non-prefixed function | ||
| #93 | Imagify Image Optimization: Optimize Images | Compress & Convert to WebP/AVIF | 21 | 428 | 867 | 1m+ | Non-prefixed global variable | ||
| #94 | LA-Studio Element Kit for Elementor | 21 | 8,403 | 1,882 | 10k+ | Text Domain Mismatch | ||
| #95 | Leyka | 21 | 257 | 3,446 | 2k+ | Request data is not unslashed | ||
| #96 | Mapster WP Maps | 21 | 3,440 | 2,894 | 3k+ | Text Domain Mismatch | ||
| #97 | Mergado Pack | 21 | 2,323 | 588 | 700 | Output is not escaped | ||
| #98 | Modular DS: Monitor, update, and backup multiple websites | 21 | 191 | 82 | 40k+ | Exception output is not escaped | ||
| #99 | Mooberry Book Manager | 21 | 1,040 | 399 | 1k+ | Text Domain Mismatch | ||
| #100 | MotoPress Hotel Booking | 21 | 3,067 | 1,037 | 10k+ | Text Domain Mismatch |