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 |
|---|---|---|---|---|---|---|---|---|
| #2901 | Popup Maker – Boost Sales, Conversions, Optins, Subscribers with the Ultimate WP Popup Builder | 55 | 54 | 692 | 700k+ | Non-prefixed hook name | ||
| #2902 | Quick and Easy Testimonials | 55 | 62 | 32 | 3k+ | Non Singular String Literal Domain | ||
| #2903 | Refer A Friend for WooCommerce by WPGens | 55 | 77 | 21 | 1k+ | Text Domain Mismatch | ||
| #2904 | Slider Block by Sliderberg – WordPress Slider & Carousel Plugin for Gutenberg | 55 | 23 | 19 | 1k+ | Output is not escaped | ||
| #2905 | Free customer chat solution | 55 | 18 | 10 | 500 | Output is not escaped | ||
| #2906 | Themeflection Numbers – Number Counter and Animated Numbers | 55 | 224 | 73 | 3k+ | Text Domain Mismatch | ||
| #2907 | Trusona for WordPress | 55 | 8 | 34 | 500 | Non-prefixed function | ||
| #2908 | VK Block Patterns | 55 | 8 | 61 | 100k+ | Non-prefixed function | ||
| #2909 | AAArdvark Accessibility Reports | 55 | 62 | 42 | 600 | Non-prefixed global variable | ||
| #2910 | Payment Integration Wompi – El Salvador | 55 | 50 | 27 | 800 | Text Domain Mismatch | ||
| #2911 | WP Ultimate Review | 55 | 23 | 381 | 70k+ | Non-prefixed global variable | ||
| #2912 | Yext Plugin | 55 | 16 | 23 | 800 | Non-prefixed function | ||
| #2913 | All in One SEO Pack Importer | 56 | 17 | 25 | 500 | Direct Query | ||
| #2914 | BuddyCommerce: WooCommerce and BuddyPress Integration | 56 | 29 | 19 | 800 | Output is not escaped | ||
| #2915 | SMTP by BestWebSoft | 56 | 486 | 175 | 1k+ | Text Domain Mismatch | ||
| #2916 | CHEQ Essentials | 56 | 14 | 49 | 700 | Request data is not unslashed | ||
| #2917 | Fluent Connect – Connect ThriveCart with your WordPress and FluentCRM | 56 | 37 | 54 | 600 | curl curl setopt | ||
| #2918 | FV Top Level Categories | 56 | 24 | 16 | 20k+ | Text Domain Mismatch | ||
| #2919 | Kwayy HTML Sitemap | 56 | 13 | 19 | 6k+ | Missing nonce verification | ||
| #2920 | Free Live Chat Support | 56 | 9 | 20 | 600 | Output is not escaped | ||
| #2921 | Maya Business Plugin | 56 | 9 | 39 | 600 | Input is not validated | ||
| #2922 | PuzzleMe – Interactive Puzzles for WordPress – Easily publish crosswords, quizzes, word searches and more | 56 | 36 | 15 | 1k+ | Output is not escaped | ||
| #2923 | Review Stream | 56 | 41 | 42 | 400 | Non-prefixed global variable | ||
| #2924 | Seed Social | 56 | 36 | 7 | 6k+ | Output is not escaped | ||
| #2925 | Image Optimization For SEO | 56 | 116 | 69 | 3k+ | Non Singular String Literal Domain | ||
| #2926 | Smooth Back To Top Button | 56 | 41 | 7 | 40k+ | Output is not escaped | ||
| #2927 | Subscriptions for WooCommerce with Stripe Recurring Payments | 56 | 10 | 467 | 800 | Non-prefixed global variable | ||
| #2928 | USERCENTRICS CMP | 56 | 44 | 11 | 1k+ | Non Singular String Literal Domain | ||
| #2929 | WC Moneris Payment Gateway | 56 | 82 | 20 | 900 | Text Domain Mismatch | ||
| #2930 | Weer | 56 | 54 | 6 | 400 | Output is not escaped | ||
| #2931 | WP-Optimize – Cache, Compress images, Minify & Clean database to boost page speed & performance | 56 | 5 | 774 | 1m+ | Non-prefixed global variable | ||
| #2932 | Social Chat – Click To Chat App Button | 56 | 81 | 45 | 200k+ | Text Domain Mismatch | ||
| #2933 | BestWebSoft’s Pinterest | 57 | 490 | 176 | 500 | Text Domain Mismatch | ||
| #2934 | Cresta Social Share Counter | 57 | 12 | 13 | 2k+ | Output is not escaped | ||
| #2935 | Live Chat by Formilla – Real-time Chat & Chatbots Plugin | 57 | 22 | 13 | 2k+ | Missing Arg Domain | ||
| #2936 | Hide Admin Notices | 57 | 9 | 16 | 20k+ | Input is not sanitized | ||
| #2937 | iConvert Promoter | 57 | 98 | 217 | 2k+ | Non-prefixed global variable | ||
| #2938 | iZooto – Web Push Notifications | 57 | 26 | 25 | 1k+ | wp function not compatible with requires wp | ||
| #2939 | JSON API User | 57 | 17 | 34 | 1k+ | Non-prefixed hook name | ||
| #2940 | Longer Permalinks | 57 | 27 | 21 | 8k+ | Missing Arg Domain | ||
| #2941 | MC4WP: Mailchimp for WordPress | 57 | 238 | 1m+ | Non-prefixed global variable | |||
| #2942 | Plugin Notes | 57 | 17 | 29 | 400 | Input is not validated | ||
| #2943 | Protected Posts Logout Button | 57 | 10 | 20 | 1k+ | Input is not sanitized | ||
| #2944 | Replain | 57 | 21 | 9 | 700 | Output is not escaped | ||
| #2945 | Responsive Slideshow – Photo Carousel | 57 | 1 | 74 | 2k+ | Non-prefixed global variable | ||
| #2946 | Team View | 57 | 32 | 19 | 900 | Output is not escaped | ||
| #2947 | Universal Google Analytics (GA3 and GA4) | 57 | 28 | 2 | 400 | Output is not escaped | ||
| #2948 | WC Call For Price | 57 | 19 | 55 | 1k+ | Non-prefixed global variable | ||
| #2949 | WP Old Post Date Remover | 57 | 25 | 7 | 2k+ | Unsafe printing function | ||
| #2950 | WP Wrapper | 57 | 13 | 29 | 600 | Input is not validated |