WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound
Non-prefixed class
The plugin defines a class 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 class 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 | ContentProtector – password protect your page, post or text | 95 | 1 | 3 | 2k+ | Non-prefixed class | ||
| #2902 | Gravity Forms ConvertKit Add-On | 95 | 65 | 11 | 700 | Text Domain Mismatch | ||
| #2903 | Cool Timeline (Horizontal & Vertical Timeline) | 95 | 13 | 20k+ | Non-prefixed class | |||
| #2904 | Customify | 95 | 1 | 101 | 10k+ | Non-prefixed global variable | ||
| #2905 | Daisy Comments — Disable Comments & Stop Spam | 95 | 1 | 3 | 1k+ | Non-prefixed class | ||
| #2906 | Date counter | 95 | 12 | 2 | 1k+ | Missing direct file access protection | ||
| #2907 | Custom Post Carousels with Owl | 95 | 3 | 27 | 2k+ | Non-prefixed hook name | ||
| #2908 | Email Log | 95 | 5 | 53 | 80k+ | Non-prefixed hook name | ||
| #2909 | Enhanced Autoload Manager | 95 | 2 | 4 | 500 | wp function not compatible with requires wp | ||
| #2910 | Fluid Player | 95 | 7 | 2 | 400 | Missing direct file access protection | ||
| #2911 | Language Switcher for Transposh | 95 | 22 | 68 | 1k+ | Non-prefixed global variable | ||
| #2912 | Meta Box | 95 | 11 | 16 | 500k+ | Non-prefixed hook name | ||
| #2913 | morkva Plata by Mono Extended | 95 | 112 | 14 | 400 | Text Domain Mismatch | ||
| #2914 | Multibanco, MB WAY, Credit card, Apple Pay, Google Pay, Payshop, Cofidis Pay, and PIX (ifthenpay) for WooCommerce | 95 | 86 | 8k+ | Non-prefixed function | |||
| #2915 | PayHere Payment Gateway | 95 | 6 | 8 | 2k+ | Non-prefixed class | ||
| #2916 | Posts in Page | 95 | 10 | 12 | 10k+ | date date | ||
| #2917 | Smart Custom Fields | 95 | 8 | 28 | 50k+ | Dynamic hook name | ||
| #2918 | Supreme Maps | 95 | 38 | 15 | 2k+ | Text Domain Mismatch | ||
| #2919 | Timeline Module for Beaver Builder | 95 | 217 | 29 | 2k+ | Text Domain Mismatch | ||
| #2920 | Translate WordPress with Weglot – Multilingual AI Translation | 95 | 131 | 50k+ | Non-prefixed global variable | |||
| #2921 | Minicart for WooCommerce | 95 | 1 | 59 | 1k+ | Non-prefixed global variable | ||
| #2922 | WPC Product Timer for WooCommerce | 95 | 17 | 3k+ | Non-prefixed class | |||
| #2923 | Simla.com | 95 | 22 | 58 | 400 | Non-prefixed class | ||
| #2924 | Improved External Products for WooCommerce | 95 | 1 | 8 | 1k+ | Non-prefixed class | ||
| #2925 | WP Approve User | 95 | 20 | 11 | 3k+ | Text Domain Mismatch | ||
| #2926 | WPC Buy Now Button for WooCommerce | 95 | 18 | 10k+ | Non-prefixed class | |||
| #2927 | WPHindi – Type in Hindi in WordPress | 95 | 7 | 9 | 1k+ | Not In Footer | ||
| #2928 | WebToffee Gift Cards for WooCommerce | 95 | 92 | 4 | 1k+ | wp function not compatible with requires wp | ||
| #2929 | Addonify – Quick View For WooCommerce | 96 | 15 | 21 | 1k+ | Non-prefixed global variable | ||
| #2930 | Portfolio Grid – Filterable Gallery, Grid & Slider Showcase | 96 | 3 | 50 | 900 | Non-prefixed function | ||
| #2931 | AffiliateX – Amazon Affiliate Plugin, Product Boxes, Comparison Tables & Affiliate Link Tracking | 96 | 73 | 10k+ | Non-prefixed global variable | |||
| #2932 | WP Offload Media Lite for Amazon S3, DigitalOcean Spaces, and Google Cloud Storage | 96 | 8 | 12 | 30k+ | Missing direct file access protection | ||
| #2933 | Bit SMTP – Easy SMTP Solution with Email Logs | 96 | 6 | 13 | 2k+ | Missing Version | ||
| #2934 | Block, Suspend, Report for BuddyPress | 96 | 3 | 24 | 600 | slow db query meta query | ||
| #2935 | Bulk Datetime Change | 96 | 3 | 18 | 6k+ | Non-prefixed global variable | ||
| #2936 | Bulk Delete | 96 | 2 | 26 | 30k+ | slow db query meta key | ||
| #2937 | Button Generator – Easily Create Custom Buttons with Icons and Analytics | 96 | 8 | 68 | 5k+ | Non-prefixed global variable | ||
| #2938 | Catch Themes Demo Import | 96 | 1 | 5 | 5k+ | Non-prefixed hook name | ||
| #2939 | Doppler Easy Multichannel Marketing enhanced with IA | 96 | 11 | 6 | 600 | wp function not compatible with requires wp | ||
| #2940 | Easy Footnotes | 96 | 6 | 22 | 8k+ | Non-prefixed global variable | ||
| #2941 | Elastic Email Sender | 96 | 121 | 4 | 10k+ | Text Domain Mismatch | ||
| #2942 | Float menu – awesome floating side menu | 96 | 9 | 103 | 30k+ | Non-prefixed global variable | ||
| #2943 | Gravity Forms Klaviyo Add-On | 96 | 28 | 15 | 1k+ | Text Domain Mismatch | ||
| #2944 | KOMOJU Payments | 96 | 8 | 1k+ | Non-prefixed class | |||
| #2945 | Menu Cart Divi | 96 | 26 | 9 | 1k+ | Text Domain Mismatch | ||
| #2946 | WP OAuth Server ( Login with WordPress ) | 96 | 26 | 9 | 1k+ | wp function not compatible with requires wp | ||
| #2947 | WP Options Importer | 96 | 56 | 4 | 6k+ | Text Domain Mismatch | ||
| #2948 | Divi Masonry Gallery – Pro Gallery | 96 | 54 | 16 | 2k+ | Text Domain Mismatch | ||
| #2949 | PayPlus Payment Gateway | 96 | 87 | 1k+ | Non-prefixed class | |||
| #2950 | Prevent Direct Access – Protect WordPress Files | 96 | 4 | 26 | 10k+ | Non-prefixed constant |