WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound
Non-prefixed function
The plugin defines a function 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 function 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 |
|---|---|---|---|---|---|---|---|---|
| #3601 | Dynamic Animations for Elementor | 88 | 77 | 17 | 1k+ | Non Singular String Literal Domain | ||
| #3602 | 301 Redirects – Redirect Manager | 88 | 6 | 71 | 300k+ | Non-prefixed global variable | ||
| #3603 | WP OPcache | 88 | 6 | 25 | 10k+ | Non-prefixed global variable | ||
| #3604 | Generic Elements | 88 | 1,922 | 140 | 500 | Text Domain Mismatch | ||
| #3605 | Genesis Blocks | 88 | 154 | 9 | 40k+ | Offloaded Content | ||
| #3606 | G-Forms hCaptcha | 88 | 7 | 5 | 3k+ | Missing direct file access protection | ||
| #3607 | GutenTOC – Advanced Table of Contents | 88 | 5 | 10 | 700 | Missing Version | ||
| #3608 | WPCode – Insert Headers and Footers + Custom Code Snippets – WordPress Code Manager | 88 | 27 | 33 | 3m+ | wp function not compatible with requires wp | ||
| #3609 | WPS Bookings for WooCommerce | 88 | 26 | 249 | 4k+ | Non-prefixed global variable | ||
| #3610 | ProScores – Live Scores | 88 | 12 | 4 | 800 | wp function not compatible with requires wp | ||
| #3611 | Responsive Slick Slider WordPress | 88 | 3 | 131 | 500 | Non-prefixed global variable | ||
| #3612 | Skydropx | 88 | 4 | 9 | 1k+ | Non-prefixed global variable | ||
| #3613 | Smart Blocks – WordPress Gutenberg Blocks | 88 | 10 | 76 | 1k+ | Post Not In post not in | ||
| #3614 | Transferito: WP Migration | 88 | 16 | 115 | 500 | Non-prefixed global variable | ||
| #3615 | User IP and Location | 88 | 2 | 10 | 3k+ | Input is not sanitized | ||
| #3616 | WC Hide Shipping Methods | 88 | 5 | 5 | 20k+ | trademarked term | ||
| #3617 | FlexMeeting – Webinar & Meeting Plugin for Jitsi Meet | 88 | 6 | 18 | 1k+ | Nonce verification recommended | ||
| #3618 | Divi Carousel Free (Divi5 Support) | 88 | 268 | 26 | 30k+ | Text Domain Mismatch | ||
| #3619 | WPC Smart Linked Products – Upsells & Cross-sells for WooCommerce | 88 | 29 | 700 | Nonce verification recommended | |||
| #3620 | A Random Number | 89 | 3 | 5 | 800 | Non-prefixed function | ||
| #3621 | Address Validation and Autocomplete for WooCommerce | Addressfinder | 89 | 85 | 15 | 900 | Text Domain Mismatch | ||
| #3622 | Classic Widgets with Block-based Widgets | 89 | 1 | 4 | 1k+ | Input is not sanitized | ||
| #3623 | Content Update Scheduler | 89 | 2 | 17 | 2k+ | Non-prefixed global variable | ||
| #3624 | Add Featured Image Custom Link | 89 | 3 | 6 | 1k+ | Request data is not unslashed | ||
| #3625 | Fancy Elementor Flipbox | 89 | 4 | 3 | 5k+ | Output is not escaped | ||
| #3626 | Location Add-on For Gravity Forms | 89 | 18 | 16 | 400 | Text Domain Mismatch | ||
| #3627 | Loading Page with Loading Screen | 89 | 49 | 18 | 10k+ | wp function not compatible with requires wp | ||
| #3628 | MAS Elementor | 89 | 19 | 216 | 1k+ | Non-prefixed hook name | ||
| #3629 | Open Links In New Tab | 89 | 5 | 3 | 900 | Missing direct file access protection | ||
| #3630 | Page Sidebar for Twenty Seventeen | 89 | 110 | 14 | 1k+ | Text Domain Mismatch | ||
| #3631 | PayJustNow for WooCommerce | 89 | 1 | 18 | 900 | Nonce verification recommended | ||
| #3632 | Pending Submission Notifications | 89 | 4 | 3 | 1k+ | Non-prefixed function | ||
| #3633 | Popups for Divi | 89 | 99 | 57 | 100k+ | Text Domain Mismatch | ||
| #3634 | RateMyAgent Official | 89 | 1 | 158 | 400 | Non-prefixed namespace | ||
| #3635 | Raychat | 89 | 1 | 11 | 800 | Discouraged text-domain loading | ||
| #3636 | Wbcom Designs – Shortcodes & Elementor Widgets For BuddyPress | 89 | 26 | 184 | 600 | Non-prefixed hook name | ||
| #3637 | Show modified Date in admin lists | 89 | 4 | 3 | 6k+ | Output is not escaped | ||
| #3638 | Széchenyi 2020 Logo | 89 | 140 | 9 | 1k+ | Text Domain Mismatch | ||
| #3639 | Turn Off Comments — Hide Comment Box and Stop Spam | 89 | 3 | 4 | 1k+ | Non-prefixed function | ||
| #3640 | User Admin Simplifier | 89 | 106 | 32 | 10k+ | Text Domain Mismatch | ||
| #3641 | User Role for Flamingo | 89 | 2 | 4 | 700 | Non-prefixed function | ||
| #3642 | WPC Smart Notifications for WooCommerce | 89 | 79 | 600 | Non-prefixed global variable | |||
| #3643 | WPC Variation Swatches for WooCommerce | 89 | 29 | 7k+ | Non-prefixed global variable | |||
| #3644 | Codevyne SEO Meta Keywords | 89 | 3 | 7 | 4k+ | Non-prefixed function | ||
| #3645 | WPGet API – Connect to any external REST API | 89 | 15 | 19 | 10k+ | Missing direct file access protection | ||
| #3646 | wetracked.io for WooCommerce | 89 | 4 | 9 | 700 | Non-prefixed constant | ||
| #3647 | Vertical Timeline Widget for Elementor | 90 | 2 | 10 | 10k+ | Non-prefixed function | ||
| #3648 | Ammu Demo Import | 90 | 12 | 19 | 400 | Deprecated function: get_page_by_title | ||
| #3649 | Avantex Companion | 90 | 35 | 100 | 1k+ | Non-prefixed global variable | ||
| #3650 | Billbee – Auftragsabwicklung, Warenwirtschaft, Automatisierung | 90 | 8 | 7 | 500 | Non-prefixed function |