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 |
|---|---|---|---|---|---|---|---|---|
| #3051 | exovia GDPR Google Maps | 62 | 40 | 6 | 4k+ | Output is not escaped | ||
| #3052 | Genesis Accessible | 62 | 49 | 17 | 500 | Text Domain Mismatch | ||
| #3053 | GetGenie – AI Content Writer with Keyword Research & SEO Tracking | 62 | 13 | 39 | 80k+ | Nonce verification recommended | ||
| #3054 | Include Matomo Tracking, by Jonas Hellmann | 62 | 14 | 4 | 500 | Setting is missing a sanitization callback | ||
| #3055 | Cron Jobs | 62 | 21 | 33 | 2k+ | Nonce verification recommended | ||
| #3056 | Nimbata Call Tracking | 62 | 13 | 11 | 400 | Non-prefixed function | ||
| #3057 | Notibar – Notification Bar for WordPress | 62 | 47 | 64 | 8k+ | wp function not compatible with requires wp | ||
| #3058 | payOS | 62 | 19 | 26 | 500 | Request data is not unslashed | ||
| #3059 | Proofreading | 62 | 11 | 74 | 5k+ | Direct Query | ||
| #3060 | Responsive Slider Gallery – Responsive Image Photo Slider | 62 | 32 | 122 | 2k+ | Non-prefixed global variable | ||
| #3061 | SEO Image Toolbox | 62 | 19 | 14 | 1k+ | Output is not escaped | ||
| #3062 | Spam Comments Cleaner | 62 | 14 | 29 | 1k+ | Non-prefixed function | ||
| #3063 | Testimonial Carousel For Elementor | 62 | 34 | 56 | 10k+ | No Html Wrapped Strings | ||
| #3064 | Satispay for WooCommerce | 62 | 19 | 12 | 7k+ | Exception output is not escaped | ||
| #3065 | Embed Videos For Product Image Gallery Using WooCommerce | 62 | 21 | 16 | 400 | Text Domain Mismatch | ||
| #3066 | WooCommerce Product Fees | 62 | 6 | 25 | 2k+ | Missing nonce verification | ||
| #3067 | cbnet Multi Author Comment Notification | 63 | 18 | 7 | 1k+ | Output is not escaped | ||
| #3068 | Classic Editor and Classic Widgets | 63 | 19 | 41 | 20k+ | Nonce verification recommended | ||
| #3069 | Fathom Analytics for WP | 63 | 25 | 15 | 10k+ | Output is not escaped | ||
| #3070 | FeedFocal | 63 | 16 | 6 | 2k+ | Unsafe printing function | ||
| #3071 | Image Sitemap | 63 | 11 | 14 | 400 | Output is not escaped | ||
| #3072 | IndexNow Plugin | 63 | 14 | 91 | 100k+ | error log error log | ||
| #3073 | Social Intents – Live Chat | 63 | 42 | 11 | 400 | Non Singular String Literal Domain | ||
| #3074 | One Tap Google Sign in | 63 | 6 | 30 | 900 | Request data is not unslashed | ||
| #3075 | Order auto complete for WooCommerce | 63 | 56 | 22 | 1k+ | Text Domain Mismatch | ||
| #3076 | User Switching | 63 | 2 | 47 | 200k+ | Nonce verification recommended | ||
| #3077 | PayPing Gateway For Woocommerce | 63 | 11 | 40 | 1k+ | Non-prefixed hook name | ||
| #3078 | Admin filter posts by year | 64 | 8 | 32 | 400 | Non-prefixed function | ||
| #3079 | Beautiful taxonomy filters | 64 | 38 | 78 | 2k+ | Non-prefixed global variable | ||
| #3080 | Dotdigital for WordPress | 64 | 41 | 123 | 400 | Dynamic hook name | ||
| #3081 | Download Theme | 64 | 18 | 20 | 4k+ | wp function not compatible with requires wp | ||
| #3082 | ELEX WooCommerce Product Price Custom Text (Before & After Text) and Discount | 64 | 444 | 137 | 2k+ | Missing Arg Domain | ||
| #3083 | Online Payments with iK Pay Gateway | 64 | 12 | 28 | 1k+ | Missing nonce verification | ||
| #3084 | Inactive Logout | 64 | 30 | 71 | 10k+ | Non-prefixed global variable | ||
| #3085 | MultiSafepay plugin for WooCommerce | 64 | 13 | 35 | 2k+ | Missing nonce verification | ||
| #3086 | Nofollow for external link | 64 | 8 | 5 | 10k+ | Output is not escaped | ||
| #3087 | Product Import Export for WooCommerce – Import Export Product CSV Suite | 64 | 246 | 766 | 80k+ | Non-prefixed global variable | ||
| #3088 | Retrigger Notifications Gravity Forms | 64 | 55 | 8 | 1k+ | Text Domain Mismatch | ||
| #3089 | Stag Custom Sidebars | 64 | 10 | 12 | 2k+ | Text Domain Mismatch | ||
| #3090 | Stancer for WooCommerce | 64 | 2 | 108 | 400 | Non-prefixed global variable | ||
| #3091 | TP Show Product Images on Checkout Page for WooCommerce | 64 | 16 | 5 | 500 | Setting is missing a sanitization callback | ||
| #3092 | WProofreader spell & grammar check plugin for WordPress | 64 | 12 | 43 | 4k+ | Non-prefixed global variable | ||
| #3093 | Werk aan de Muur | 64 | 48 | 20 | 900 | Non Singular String Literal Domain | ||
| #3094 | WPC Shop as a Customer for WooCommerce | 64 | 5 | 38 | 400 | Request data is not unslashed | ||
| #3095 | YaMaps for WordPress Plugin | 64 | 21 | 30 | 10k+ | Non-prefixed global variable | ||
| #3096 | Authorizer | 65 | 3 | 54 | 5k+ | Nonce verification recommended | ||
| #3097 | Banner Upload | 65 | 36 | 4 | 500 | Output is not escaped | ||
| #3098 | Custom Share Buttons with Floating Sidebar | 65 | 164 | 20 | 4k+ | Text Domain Mismatch | ||
| #3099 | Cyr to Lat Reloaded – Transliteration of Links and File Names | 65 | 13 | 36 | 30k+ | Direct Query | ||
| #3100 | Dojo for WooCommerce | 65 | 71 | 13 | 800 | Text Domain Mismatch |