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 |
|---|---|---|---|---|---|---|---|---|
| #3401 | Sellbrite | 79 | 18 | 4 | 500 | Short PHP open tag found | ||
| #3402 | SSH SFTP Updater Support | 79 | 6 | 31 | 10k+ | Non-prefixed global variable | ||
| #3403 | SureMail – SMTP and Email Logs Plugin with Amazon SES, Postmark, and Other Providers | 79 | 45 | 66 | 200k+ | Non-prefixed hook name | ||
| #3404 | WP Last Modified Info | 79 | 45 | 32 | 40k+ | Short PHP open tag found | ||
| #3405 | WPMagPlus Companion | 79 | 104 | 16 | 700 | Text Domain Mismatch | ||
| #3406 | YITH Maintenance Mode | 79 | 19 | 63 | 5k+ | Non-prefixed global variable | ||
| #3407 | Automatically Hierarchic Categories in Menu | 80 | 11 | 3 | 2k+ | Output is not escaped | ||
| #3408 | ShopEngine Gutenberg WooCommerce Builder Blocks Addon – All in One WooCommerce Solution | 80 | 424 | 735 | 3k+ | Non-prefixed global variable | ||
| #3409 | Button | 80 | 65 | 28 | 2k+ | Text Domain Mismatch | ||
| #3410 | Cresta Help Chat | 80 | 6 | 6 | 10k+ | Output is not escaped | ||
| #3411 | Docxpresso | 80 | 9 | 14 | 2k+ | Input is not sanitized | ||
| #3412 | Duo Universal | 80 | 6 | 25 | 2k+ | Nonce verification recommended | ||
| #3413 | Easy Charts | 80 | 13 | 28 | 1k+ | Non-prefixed global variable | ||
| #3414 | Flipbox | 80 | 14 | 17 | 2k+ | wp function not compatible with requires wp | ||
| #3415 | Fonts | 80 | 8 | 5 | 8k+ | Output is not escaped | ||
| #3416 | Image Captcha For Gravity Forms | 80 | 20 | 10 | 400 | Text Domain Mismatch | ||
| #3417 | Leadinfo | 80 | 11 | 8 | 7k+ | Missing direct file access protection | ||
| #3418 | Offcanvas Mobile Menu | 80 | 22 | 7 | 800 | Missing direct file access protection | ||
| #3419 | Random Content | 80 | 10 | 8 | 3k+ | Output is not escaped | ||
| #3420 | RealHomes Currency Switcher | 80 | 71 | 42 | 1k+ | Non Singular String Literal Domain | ||
| #3421 | SteadFast API | 80 | 2 | 23 | 8k+ | Non-prefixed global variable | ||
| #3422 | Nexter Blocks – Gutenberg Blocks, Page Builder & AI Website Builder | 80 | 94 | 732 | 10k+ | Non-prefixed global variable | ||
| #3423 | Mini Cart Drawer For WooCommerce | 80 | 4 | 25 | 400 | Non-prefixed hook name | ||
| #3424 | Product Feed PRO for WooCommerce by AdTribes – Product Feeds for WooCommerce | 80 | 9 | 450 | 80k+ | Non-prefixed hook name | ||
| #3425 | GoCardless for WooCommerce | 80 | 60 | 1k+ | Non-prefixed class | |||
| #3426 | Gift Wrapper for WooCommerce | 80 | 111 | 125 | 2k+ | Text Domain Mismatch | ||
| #3427 | Sympl Repeater for ACF and Elementor | 81 | 9 | 4 | 1k+ | Output is not escaped | ||
| #3428 | AI | 81 | 11 | 79 | 30k+ | Non-prefixed global variable | ||
| #3429 | Folder Excluder for AIO WP Migration | 81 | 8 | 5 | 1k+ | Non-prefixed function | ||
| #3430 | atec Cache APCu | 81 | 41 | 21 | 3k+ | wp function not compatible with requires wp | ||
| #3431 | Great Restaurant Menu WP | 81 | 89 | 100 | 1k+ | Text Domain Mismatch | ||
| #3432 | Bulky – Bulk Edit Products for WooCommerce | 81 | 3 | 21 | 10k+ | Non-prefixed hook name | ||
| #3433 | Ceylon Demo Installer | 81 | 11 | 9 | 400 | Non-prefixed function | ||
| #3434 | CHL-Change HTML Lang | 81 | 5 | 7 | 7k+ | Non-prefixed function | ||
| #3435 | cookie-cat | 81 | 14 | 27 | 1k+ | Non-prefixed function | ||
| #3436 | Countdown Block | 81 | 14 | 10 | 4k+ | wp function not compatible with requires wp | ||
| #3437 | Joinchat – Enhanced "click to chat" | 81 | 17 | 32 | 700k+ | wp function not compatible with requires wp | ||
| #3438 | eCommerce Shipping Dashboard by UPS for WooCommerce | 81 | 6 | 35 | 1k+ | Non-prefixed constant | ||
| #3439 | ElasticPress | 81 | 13 | 655 | 8k+ | Non-prefixed hook name | ||
| #3440 | Fullwidth Templates for Any Theme & Page Builder | 81 | 12 | 23 | 20k+ | Non-prefixed constant | ||
| #3441 | MM Title Manager — Hide Page and Post Title | 81 | 4 | 4 | 9k+ | Unsafe printing function | ||
| #3442 | GIFTiT – Free Gifts for WooCommerce | 81 | 43 | 357 | 2k+ | Non-prefixed global variable | ||
| #3443 | Max Mega Menu – StoreFront Integration | 81 | 12 | 2 | 2k+ | Text Domain Mismatch | ||
| #3444 | Order Approval for Woocommerce | 81 | 3 | 208 | 1k+ | Non-prefixed global variable | ||
| #3445 | Payfast Gateway for WooCommerce | 81 | 2 | 18 | 2k+ | Missing nonce verification | ||
| #3446 | Price Table Block | 81 | 15 | 16 | 900 | file system operations mkdir | ||
| #3447 | Progress Bars | 81 | 15 | 14 | 500 | file system operations mkdir | ||
| #3448 | QuadMenu – Astra Mega Menu | 81 | 10 | 2 | 600 | Text Domain Mismatch | ||
| #3449 | Orphans | 81 | 1 | 43 | 50k+ | Dynamic hook name | ||
| #3450 | Siteimprove | 81 | 6 | 23 | 700 | Nonce verification recommended |