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 |
|---|---|---|---|---|---|---|---|---|
| #2551 | Order Delivery Date And Time | 75 | 26 | 28 | 1k+ | Text Domain Mismatch | ||
| #2552 | PJ News Ticker | 75 | 13 | 14 | 3k+ | Output is not escaped | ||
| #2553 | Rapyd Payment Extension for WooCommerce | 75 | 50 | 33 | 400 | Text Domain Mismatch | ||
| #2554 | Services Section Block – Showcase Service Details in Grid or Columns | 75 | 9 | 19 | 2k+ | Non-prefixed namespace | ||
| #2555 | Styleguide – Custom Fonts and Colors | 75 | 59 | 25 | 2k+ | Missing direct file access protection | ||
| #2556 | Testimonial – Testimonial Slider and Showcase Plugin | 75 | 563 | 231 | 30k+ | Text Domain Mismatch | ||
| #2557 | UK Address Postcode Validation | 75 | 72 | 33 | 700 | Non Singular String Literal Domain | ||
| #2558 | Video Background Block – Use video as background in section. | 75 | 35 | 90 | 2k+ | Non-prefixed global variable | ||
| #2559 | Ukrposhta | 75 | 24 | 226 | 500 | Non-prefixed global variable | ||
| #2560 | Extra Product Sorting Options for WooCommerce | 75 | 10 | 16 | 10k+ | Text Domain Mismatch | ||
| #2561 | wp-forecast | 75 | 263 | 117 | 5k+ | Missing Arg Domain | ||
| #2562 | WP-HTML-Compression | 75 | 7 | 22 | 1k+ | Input is not sanitized | ||
| #2563 | WPSSO WP Sitemaps XML with News, Image, and Video Sitemap | 75 | 60 | 24 | 400 | Missing Translators Comment | ||
| #2564 | Addonify – WooCommerce Wishlist | 76 | 30 | 43 | 1k+ | Non-prefixed global variable | ||
| #2565 | Advanced CSS Editor | 76 | 25 | 6 | 5k+ | Output is not escaped | ||
| #2566 | Ajax Search Lite – Live Search & Filter | 76 | 126 | 264 | 80k+ | Non-prefixed hook name | ||
| #2567 | PiWeb Cancel order / Refund request for WooCommerce | 76 | 40 | 49 | 2k+ | wp function not compatible with requires wp | ||
| #2568 | Like Thumbnail | 76 | 13 | 8 | 1k+ | Output is not escaped | ||
| #2569 | Ocean Posts Slider | 76 | 13 | 14 | 10k+ | Output is not escaped | ||
| #2570 | ABC Crypto Checkout | 76 | 42 | 14 | 1k+ | Text Domain Mismatch | ||
| #2571 | Payment Gateway for Authorize.net for WooCommerce | 76 | 6 | 16 | 700 | Input is not sanitized | ||
| #2572 | Preload Images | 76 | 8 | 6 | 1k+ | Output is not escaped | ||
| #2573 | Action Network | 76 | 19 | 17 | 400 | error log error log | ||
| #2574 | Before After Image Comparison – Visual Comparison for Two Images | 77 | 18 | 16 | 3k+ | Text Domain Mismatch | ||
| #2575 | Core Web Vitals & PageSpeed Booster | 77 | 346 | 65 | 1k+ | Text Domain Mismatch | ||
| #2576 | Embed Files from Google Drive | 77 | 4 | 35 | 5k+ | Nonce verification recommended | ||
| #2577 | Gravity Forms Auto Placeholders | 77 | 9 | 8 | 700 | trademarked term | ||
| #2578 | Ilmenite Cookie Consent | 77 | 6 | 11 | 2k+ | Setting is missing a sanitization callback | ||
| #2579 | Mailster Mailgun Integration | 77 | 16 | 5 | 500 | Missing Translators Comment | ||
| #2580 | Master QR Code Generator – Fast & Easy QR Code Creator | 77 | 21 | 59 | 400 | Non-prefixed global variable | ||
| #2581 | Pushover Integration for WooCommerce | 77 | 107 | 7 | 800 | Text Domain Mismatch | ||
| #2582 | Scroll Magic Addon for Elementor | 77 | 344 | 7 | 400 | Text Domain Mismatch | ||
| #2583 | Display custom fields in the frontend – Post and User Profile Fields | 77 | 17 | 18 | 600 | Non-prefixed global variable | ||
| #2584 | SureRank SEO – Smart Assistant with Meta Tags, Social Preview, XML Sitemap, and Schema | 77 | 58 | 95 | 300k+ | Non-prefixed hook name | ||
| #2585 | Toggle wpautop | 77 | 4 | 15 | 9k+ | trademarked term | ||
| #2586 | WP Editor Widget | 77 | 9 | 6 | 9k+ | Unsafe printing function | ||
| #2587 | Lorem Ipsum Generator | 77 | 7 | 9 | 500 | Missing direct file access protection | ||
| #2588 | WPA WooCommerce Product Gallery Slider Lite | 77 | 66 | 52 | 400 | Text Domain Mismatch | ||
| #2589 | wpsection | 77 | 131 | 554 | 3k+ | Non-prefixed global variable | ||
| #2590 | Accordion Blocks | 78 | 9 | 3 | 10k+ | Unsafe printing function | ||
| #2591 | Active Campaign & WPForms | 78 | 27 | 10 | 400 | Text Domain Mismatch | ||
| #2592 | Instant AI Image Generator – Create & Import Images | 78 | 23 | 1k+ | Non-prefixed constant | |||
| #2593 | Animated Text Block – Add Typing and Looping Text Effects | 78 | 5 | 25 | 4k+ | Non-prefixed class | ||
| #2594 | Player for SoundCloud – Embed and Play Audio Tracks | 78 | 17 | 24 | 1k+ | Text Domain Mismatch | ||
| #2595 | Layouts for Elementor | 78 | 27 | 1k+ | Non-prefixed global variable | |||
| #2596 | Uptime Monitoring for WordPress – My Website is Online | 78 | 18 | 7 | 500 | Text Domain Mismatch | ||
| #2597 | Post slider elementor addons | 78 | 168 | 13 | 2k+ | Text Domain Mismatch | ||
| #2598 | Animator – Scroll Triggered Animations | 78 | 16 | 24 | 1k+ | Missing direct file access protection | ||
| #2599 | Twenty20 Image Before-After | 78 | 104 | 14 | 20k+ | Text Domain Mismatch | ||
| #2600 | WooCommerce Square | 78 | 6 | 266 | 80k+ | Non-prefixed hook name |