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 |
|---|---|---|---|---|---|---|---|---|
| #2401 | Magazine Blocks – Blog Designer, Magazine & Newspaper Website Builder, Page Builder with Posts Blocks, Post Grid | 39 | 65 | 72 | 6k+ | block api version too low | ||
| #2402 | MailChimp Add-On for FormCraft | 39 | 56 | 29 | 800 | curl curl setopt | ||
| #2403 | Kikote – Location Picker at Checkout & Google Address AutoFill Plugin for WooCommerce | 39 | 76 | 64 | 1k+ | Missing Translators Comment | ||
| #2404 | Maps for WP | 39 | 169 | 73 | 400 | Output is not escaped | ||
| #2405 | Mega Addons For WPBakery Page Builder | 39 | 1,320 | 154 | 20k+ | Text Domain Mismatch | ||
| #2406 | Mizan Demo Importer | 39 | 31 | 91 | 1k+ | Missing nonce verification | ||
| #2407 | SOGO Add Script to Individual Pages Header Footer | 39 | 74 | 40 | 20k+ | Output is not escaped | ||
| #2408 | Pay by paynow.pl | 39 | 51 | 56 | 6k+ | Output is not escaped | ||
| #2409 | Posts By Tag | 39 | 151 | 30 | 1k+ | Output is not escaped | ||
| #2410 | PickPlugins Pricing Table | 39 | 3 | 171 | 1k+ | Missing nonce verification | ||
| #2411 | Privilege Menu | 39 | 215 | 49 | 1k+ | Text Domain Mismatch | ||
| #2412 | Product Size Chart for Woocommerce | 39 | 20 | 169 | 600 | Non-prefixed global variable | ||
| #2413 | Quantcast Choice | 39 | 227 | 11 | 3k+ | Text Domain Mismatch | ||
| #2414 | Simple Webchat | 39 | 142 | 204 | 1k+ | Output is not escaped | ||
| #2415 | Redirect 404 Error Page to Homepage or Custom Page with Logs | 39 | 27 | 53 | 10k+ | Nonce verification recommended | ||
| #2416 | Salat Times | 39 | 236 | 21 | 500 | Output is not escaped | ||
| #2417 | Taxonomy Thumbnail | 39 | 27 | 58 | 3k+ | Non-prefixed function | ||
| #2418 | Shared Files – File Upload & Download Manager | 39 | 5 | 184 | 4k+ | Nonce verification recommended | ||
| #2419 | Simpaisa Wallet (Jazzcash & Easypaisa) Payment Services | 39 | 67 | 74 | 1k+ | Interpolated Variable Text | ||
| #2420 | Simple Staff List | 39 | 90 | 236 | 3k+ | Non-prefixed global variable | ||
| #2421 | SKP WP Admin Login Captcha | 39 | 77 | 18 | 1k+ | Output is not escaped | ||
| #2422 | Slash Admin | 39 | 116 | 38 | 500 | Output is not escaped | ||
| #2423 | Slider Text Scroll | 39 | 95 | 52 | 400 | Text Domain Mismatch | ||
| #2424 | Slideshow SE | 39 | 35 | 240 | 2k+ | Non-prefixed global variable | ||
| #2425 | Smaily for WP | 39 | 52 | 36 | 700 | Output is not escaped | ||
| #2426 | SMTP | 39 | 54 | 15 | 700 | Non Singular String Literal Domain | ||
| #2427 | Solid Post Likes | 39 | 96 | 52 | 500 | Text Domain Mismatch | ||
| #2428 | Soumettre.fr | 39 | 130 | 26 | 10k+ | Text Domain Mismatch | ||
| #2429 | Spreadr Woocommerce Plugin – Amazon Importer for Dropshipping and Affiliate | 39 | 42 | 226 | 500 | Request data is not unslashed | ||
| #2430 | Stock Ticker | 39 | 92 | 49 | 2k+ | Output is not escaped | ||
| #2431 | Stockdio Historical Chart | 39 | 65 | 16 | 900 | Output is not escaped | ||
| #2432 | Structured Content (JSON-LD) #wpsc | 39 | 291 | 73 | 40k+ | Output is not escaped | ||
| #2433 | Substack Importer | 39 | 33 | 33 | 1k+ | Missing nonce verification | ||
| #2434 | Easy Category Icons | 39 | 50 | 43 | 600 | Text Domain Mismatch | ||
| #2435 | ThemeKit For WordPress | 39 | 149 | 49 | 700 | Output is not escaped | ||
| #2436 | TinyMCE Spellcheck | 39 | 27 | 32 | 2k+ | Unsafe printing function | ||
| #2437 | TomS reCAPTCHA | 39 | 128 | 256 | 500 | Missing nonce verification | ||
| #2438 | Universal Google Adsense and Ads manager | 39 | 70 | 31 | 2k+ | Unsafe printing function | ||
| #2439 | Uptolike Social Share Buttons | 39 | 38 | 33 | 4k+ | Output is not escaped | ||
| #2440 | User Blocker | 39 | 6 | 276 | 3k+ | Nonce verification recommended | ||
| #2441 | Smart Variation Swatches and Attribute Filters for WooCommerce | 39 | 39 | 50 | 3k+ | Output is not escaped | ||
| #2442 | Smart COD for WooCommerce | 39 | 50 | 28 | 30k+ | Output is not escaped | ||
| #2443 | Website LLMs.txt | 39 | 13 | 145 | 40k+ | Non-prefixed global variable | ||
| #2444 | Woo Button Text | 39 | 53 | 21 | 500 | Output is not escaped | ||
| #2445 | Lucky Wheel for WooCommerce – Spin a Sale | 39 | 12 | 153 | 1k+ | Request data is not unslashed | ||
| #2446 | CURCY – Multi Currency for WooCommerce – Smoothly on WooCommerce 9.x | 39 | 7 | 222 | 20k+ | Non-prefixed hook name | ||
| #2447 | PayU GPO Payment for WooCommerce | 39 | 44 | 91 | 10k+ | Output is not escaped | ||
| #2448 | Wallet for WooCommerce | 39 | 36 | 524 | 20k+ | Non-prefixed hook name | ||
| #2449 | Modal Fly Cart & AJAX Add to Cart for WooCommerce | 39 | 83 | 74 | 2k+ | Text Domain Mismatch | ||
| #2450 | WooCommerce Product Dependencies | 39 | 44 | 60 | 3k+ | Missing nonce verification |