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 |
|---|---|---|---|---|---|---|---|---|
| #1851 | Gecka Submenu | 38 | 326 | 36 | 3k+ | Output is not escaped | ||
| #1852 | GoDaddy Payments for WooCommerce | 38 | 58 | 65 | 2k+ | Output is not escaped | ||
| #1853 | GoUrl WooCommerce – Bitcoin Altcoin Payment Gateway Addon | 38 | 279 | 24 | 600 | Non Singular String Literal Domain | ||
| #1854 | CAOS | Host Google Analytics Locally | 38 | 124 | 44 | 10k+ | Output is not escaped | ||
| #1855 | Icegram Mailer – Reliable Email Deliverability, No-code SMTP Replacement & Email logs | 38 | 36 | 106 | 1k+ | Non-prefixed global variable | ||
| #1856 | Illdy Companion | 38 | 187 | 23 | 6k+ | Output is not escaped | ||
| #1857 | imoje | 38 | 62 | 160 | 2k+ | Nonce verification recommended | ||
| #1858 | jQuery Pin It Button for Images | 38 | 129 | 36 | 10k+ | Output is not escaped | ||
| #1859 | Jupiter X Core | 38 | 71 | 767 | 80k+ | Non-prefixed global variable | ||
| #1860 | Lightning Advanced Unit | 38 | 189 | 27 | 3k+ | Output is not escaped | ||
| #1861 | LuckyWP Scripts Control | 38 | 186 | 23 | 3k+ | Output is not escaped | ||
| #1862 | MainWP Child – Securely Connects to the MainWP Dashboard to Manage Multiple Sites | 38 | 3 | 136 | 700k+ | Non-prefixed hook name | ||
| #1863 | Auto SEO META keywords (META tags keywords) optimization + WooCommerce | 38 | 63 | 34 | 700 | Output is not escaped | ||
| #1864 | MimeTypes Link Icons | 38 | 53 | 34 | 8k+ | Output is not escaped | ||
| #1865 | Most And Least Read Posts Widget | 38 | 130 | 24 | 1k+ | Output is not escaped | ||
| #1866 | MX Time Zone Clocks | 38 | 219 | 41 | 1k+ | Output is not escaped | ||
| #1867 | Page Links To | 38 | 31 | 40 | 100k+ | Unsafe printing function | ||
| #1868 | YAPE A1 Tiendas | 38 | 24 | 43 | 900 | Missing nonce verification | ||
| #1869 | PayTR Taksit Tablosu – WooCommerce | 38 | 67 | 39 | 3k+ | Non Singular String Literal Domain | ||
| #1870 | Polaroid Gallery | 38 | 105 | 20 | 1k+ | Unsafe printing function | ||
| #1871 | Post views Stats | 38 | 37 | 51 | 1k+ | Non-prefixed global variable | ||
| #1872 | Responsive Mailform ( Plugin Version ) – easy, responsive, contact, mailform | 38 | 120 | 107 | 500 | Output is not escaped | ||
| #1873 | WP REST API – OAuth 1.0a Server | 38 | 100 | 85 | 8k+ | Text Domain Mismatch | ||
| #1874 | Schema App Structured Data | 38 | 35 | 86 | 7k+ | Nonce verification recommended | ||
| #1875 | LinkBoss – Semantic AI Internal Linking | 38 | 28 | 57 | 2k+ | Missing Arg Domain | ||
| #1876 | Shapely Companion | 38 | 49 | 39 | 10k+ | Output is not escaped | ||
| #1877 | ShiftNav – Responsive Mobile Menu | 38 | 249 | 35 | 10k+ | Text Domain Mismatch | ||
| #1878 | Simple Keyword to Link | 38 | 90 | 49 | 3k+ | Non Singular String Literal Domain | ||
| #1879 | Simple LDAP Login | 38 | 65 | 33 | 1k+ | Output is not escaped | ||
| #1880 | Simple Visitor Counter | 38 | 41 | 27 | 700 | Output is not escaped | ||
| #1881 | Social Icons | 38 | 72 | 83 | 10k+ | Output is not escaped | ||
| #1882 | Sticky Header Effects for Elementor | 38 | 243 | 71 | 300k+ | Text Domain Mismatch | ||
| #1883 | Stock Market News | 38 | 71 | 11 | 500 | Output is not escaped | ||
| #1884 | Stock Market Overview | 38 | 86 | 14 | 1k+ | Output is not escaped | ||
| #1885 | Stock Market Ticker | 38 | 69 | 14 | 3k+ | Output is not escaped | ||
| #1886 | Stock Quotes List | 38 | 72 | 13 | 600 | Output is not escaped | ||
| #1887 | Swiper Js Slider | 38 | 125 | 35 | 400 | Output is not escaped | ||
| #1888 | Product Compare for WooCommerce | 38 | 55 | 191 | 3k+ | Non-prefixed global variable | ||
| #1889 | Variation Swatches for WooCommerce | 38 | 45 | 65 | 2k+ | Output is not escaped | ||
| #1890 | Theme Blvd Widget Pack | 38 | 240 | 17 | 2k+ | Output is not escaped | ||
| #1891 | Trackserver | 38 | 17 | 356 | 400 | Input is not sanitized | ||
| #1892 | Twenty Eleven Theme Extensions | 38 | 35 | 30 | 3k+ | Output is not escaped | ||
| #1893 | Twiget Twitter Widget | 38 | 147 | 36 | 500 | Output is not escaped | ||
| #1894 | Ultimate Member Widgets for Elementor – Login Form, Register Form & User Directory | 38 | 17 | 110 | 400 | Non-prefixed namespace | ||
| #1895 | Unconfirmed | 38 | 20 | 79 | 1k+ | Nonce verification recommended | ||
| #1896 | FancyTube – Video Gallery, Video Slider, and Playlist Slider for YouTube | 38 | 358 | 34 | 1k+ | Text Domain Mismatch | ||
| #1897 | TWIPLA (Visitor Analytics IO) – Privacy-First Website Stats, Session Recordings, Heatmaps, Polls and Surveys | 38 | 71 | 49 | 900 | Output is not escaped | ||
| #1898 | Visual Admin Customizer | 38 | 20 | 51 | 500 | Input is not sanitized | ||
| #1899 | W2S – Migrate WooCommerce to Shopify | 38 | 33 | 132 | 1k+ | Non-prefixed global variable | ||
| #1900 | SSLCommerz Payment Gateway | 38 | 21 | 132 | 2k+ | Non-prefixed global variable |