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 |
|---|---|---|---|---|---|---|---|---|
| #2951 | Zoho Billing – Embed Payment Form | 57 | 22 | 10 | 500 | Output is not escaped | ||
| #2952 | Admin Page Notes | 58 | 17 | 15 | 700 | Text Domain Mismatch | ||
| #2953 | Departamentos y Ciudades de Colombia para Woocommerce | 58 | 49 | 42 | 6k+ | Text Domain Mismatch | ||
| #2954 | Easy Sidebar Menu Widget | 58 | 32 | 7 | 2k+ | Output is not escaped | ||
| #2955 | PDF invoice for WP ERP | 58 | 96 | 134 | 2k+ | Non-prefixed global variable | ||
| #2956 | Error Log Viewer by BestWebSoft | 58 | 433 | 172 | 6k+ | Text Domain Mismatch | ||
| #2957 | Flexible FAQ | 58 | 27 | 26 | 1k+ | Text Domain Mismatch | ||
| #2958 | License For Envato | 58 | 12 | 31 | 9k+ | Non-prefixed global variable | ||
| #2959 | List Last Changes | 58 | 50 | 15 | 1k+ | Output is not escaped | ||
| #2960 | PageLoader Lite – Loading Screen | 58 | 29 | 17 | 700 | Output is not escaped | ||
| #2961 | Responsive Select Menu | 58 | 29 | 27 | 3k+ | Output is not escaped | ||
| #2962 | REVIEWS.io for WooCommerce | 58 | 71 | 161 | 1k+ | Non-prefixed global variable | ||
| #2963 | Safety Exit | 58 | 52 | 26 | 1k+ | Text Domain Mismatch | ||
| #2964 | Simple Back To Top | 58 | 15 | 43 | 3k+ | Non-prefixed global variable | ||
| #2965 | SportsPress for Basketball | 58 | 104 | 34 | 1k+ | Text Domain Mismatch | ||
| #2966 | SportsPress for Football (Soccer) | 58 | 107 | 34 | 6k+ | Text Domain Mismatch | ||
| #2967 | SportsPress for Volleyball | 58 | 107 | 34 | 500 | Text Domain Mismatch | ||
| #2968 | Videopack | 58 | 28 | 108 | 10k+ | Input is not sanitized | ||
| #2969 | View Admin As | 58 | 307 | 135 | 9k+ | Non Singular String Literal Domain | ||
| #2970 | WebP Express Plus | 58 | 19 | 11 | 700 | Unsafe printing function | ||
| #2971 | Wettervorhersage | 58 | 49 | 7 | 1k+ | Output is not escaped | ||
| #2972 | Chat Button & Custom ChatGPT-Powered Bot by GetButton.io | 58 | 26 | 8 | 20k+ | Non-prefixed function | ||
| #2973 | Social Media Auto Poster – Schedule & Publish to Buffer | 58 | 23 | 211 | 7k+ | Dynamic hook name | ||
| #2974 | Blog Designer | 59 | 62 | 83 | 10k+ | Text Domain Mismatch | ||
| #2975 | Co-Authors Plus | 59 | 2 | 76 | 20k+ | Input is not sanitized | ||
| #2976 | Connect SendGrid for Emails | 59 | 37 | 103 | 900 | Missing direct file access protection | ||
| #2977 | Cresta Posts Box | 59 | 10 | 13 | 1k+ | Output is not escaped | ||
| #2978 | ELEX WooCommerce Name Your Price | 59 | 295 | 117 | 600 | Missing Arg Domain | ||
| #2979 | Fathom Analytics Conversions | 59 | 14 | 47 | 400 | Non-prefixed function | ||
| #2980 | flowpaper | 59 | 13 | 31 | 10k+ | Non-prefixed function | ||
| #2981 | GDPR Data Request Form | 59 | 22 | 19 | 5k+ | Missing direct file access protection | ||
| #2982 | GravityWP – Merge Tags | 59 | 16 | 172 | 2k+ | Non-prefixed global variable | ||
| #2983 | MapGeo – Interactive Geo Maps | 59 | 14 | 51 | 40k+ | Non-prefixed hook name | ||
| #2984 | JetSticky For Elementor | 59 | 13 | 38 | 30k+ | Nonce verification recommended | ||
| #2985 | Mango Buttons | 59 | 14 | 21 | 3k+ | Output is not escaped | ||
| #2986 | Pattern Wrangler – Manage Block Patterns and Pattern Categories | 59 | 14 | 73 | 400 | Non-prefixed global variable | ||
| #2987 | Remove Add to Cart Button for WooCommerce | 59 | 115 | 18 | 500 | Text Domain Mismatch | ||
| #2988 | Scrollbar | 59 | 7 | 22 | 400 | Missing nonce verification | ||
| #2989 | Subscribers – Free Web Push Notifications | 59 | 15 | 11 | 1k+ | Output is not escaped | ||
| #2990 | Super Progressive Web Apps | 59 | 62 | 22 | 40k+ | wp function not compatible with requires wp | ||
| #2991 | Typebot | 59 | 17 | 9 | 3k+ | Output is not escaped | ||
| #2992 | Konnect Payment Gateway for WooCommerce | 59 | 39 | 16 | 400 | Text Domain Mismatch | ||
| #2993 | Payment Gateway for LiqPay for Woocommerce | 59 | 84 | 31 | 1k+ | Text Domain Mismatch | ||
| #2994 | Hide Posts | 59 | 9 | 70 | 20k+ | Direct Query | ||
| #2995 | Variation Swatches for WooCommerce | 59 | 11 | 64 | 300k+ | Non-prefixed global variable | ||
| #2996 | Add Google re captcha in WordPress Forms | 59 | 16 | 16 | 500 | Output is not escaped | ||
| #2997 | Bandsintown Events | 60 | 80 | 28 | 4k+ | wp function not compatible with requires wp | ||
| #2998 | Contact Form 7 Modules | 60 | 47 | 15 | 5k+ | Text Domain Mismatch | ||
| #2999 | EPROLO-Dropshipping | 60 | 16 | 34 | 1k+ | Missing nonce verification | ||
| #3000 | FancyBox for WordPress | 60 | 175 | 33 | 30k+ | Text Domain Mismatch |