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 |
|---|---|---|---|---|---|---|---|---|
| #1101 | KBoard 위젯 – 워드프레스 게시판 | 35 | 53 | 32 | 3k+ | Output is not escaped | ||
| #1102 | Keyring | 35 | 233 | 203 | 1k+ | Output is not escaped | ||
| #1103 | Kustom Checkout for WooCommerce | 35 | 82 | 497 | 10k+ | Dynamic hook name | ||
| #1104 | Klarna Order Management for WooCommerce | 35 | 22 | 37 | 10k+ | Non-prefixed hook name | ||
| #1105 | Lead Call Buttons | 35 | 113 | 81 | 6k+ | Output is not escaped | ||
| #1106 | Less PHP Compiler | 35 | 163 | 47 | 3k+ | Exception output is not escaped | ||
| #1107 | Login-Logout | 35 | 104 | 8 | 3k+ | Output is not escaped | ||
| #1108 | Magical Addons For Elementor ( Header Footer Builder, Free Elementor Widgets, Elementor Templates Library ) | 35 | 273 | 127 | 5k+ | Output is not escaped | ||
| #1109 | Mechanic Visitor Counter | 35 | 240 | 66 | 8k+ | Output is not escaped | ||
| #1110 | My Eyes Are Up Here | 35 | 7 | 12 | 2k+ | Missing nonce verification | ||
| #1111 | myPOS Checkout | 35 | 151 | 8 | 4k+ | Text Domain Mismatch | ||
| #1112 | Order Delivery Date for WooCommerce | 35 | 2,060 | 73 | 10k+ | wp function not compatible with requires wp | ||
| #1113 | Orderable – Restaurant & Food Ordering System | 35 | 12 | 324 | 5k+ | Non-prefixed global variable | ||
| #1114 | OT Flatsome Vertical Menu | 35 | 126 | 26 | 10k+ | Text Domain Mismatch | ||
| #1115 | Pearl – Header Builder | 35 | 7 | 283 | 5k+ | Non-prefixed global variable | ||
| #1116 | Pochipp | 35 | 27 | 102 | 20k+ | Non-prefixed global variable | ||
| #1117 | Presto Player | 35 | 59 | 77 | 100k+ | Missing Arg Domain | ||
| #1118 | Product Input Fields for WooCommerce | 35 | 18 | 84 | 4k+ | Non-prefixed function | ||
| #1119 | Flutterwave WooCommerce | 35 | 7 | 20 | 2k+ | Non-prefixed class | ||
| #1120 | ReactPress – Create React App for WordPress | 35 | 26 | 43 | 3k+ | Request data is not unslashed | ||
| #1121 | Remove Dashboard Access | 35 | 16 | 23 | 30k+ | wp function not compatible with requires wp | ||
| #1122 | Reveal IDs | 35 | 23 | 13 | 40k+ | Output is not escaped | ||
| #1123 | RICG Responsive Images | 35 | 29 | 25 | 2k+ | wp function not compatible with requires wp | ||
| #1124 | Robots.txt rewrite | 35 | 56 | 19 | 1k+ | Output is not escaped | ||
| #1125 | s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions | 35 | 24 | 5 | 8k+ | Missing direct file access protection | ||
| #1126 | FlexTable – Data Table Sync with Google Sheets | 35 | 20 | 78 | 4k+ | Direct Query | ||
| #1127 | Simple Website Redirect | 35 | 3 | 3 | 6k+ | Discouraged text-domain loading | ||
| #1128 | SiteOrigin CSS | 35 | 61 | 84 | 100k+ | Not In Footer | ||
| #1129 | Social Sharing Plugin – Social Warfare | 35 | 17 | 143 | 20k+ | Non-prefixed class | ||
| #1130 | Sprout Invoices – Client Invoicing & Estimates | 35 | 40 | 1,798 | 1k+ | Non-prefixed hook name | ||
| #1131 | SSL Insecure Content Fixer | 35 | 28 | 60 | 100k+ | Input is not sanitized | ||
| #1132 | Stars Testimonials — Responsive Reviews & Star Ratings | 35 | 29 | 253 | 1k+ | Non-prefixed global variable | ||
| #1133 | Sticky Chat Widget – Floating Chat Icons, Contact Form, Call, Click to Chat, Email & Message Buttons | 35 | 33 | 293 | 10k+ | Non-prefixed global variable | ||
| #1134 | SumUp Payment Gateway For WooCommerce | 35 | 29 | 59 | 10k+ | Nonce verification recommended | ||
| #1135 | Advance Product Search- Voice & Ajax Search for WooCommerce | 35 | 125 | 95 | 10k+ | Text Domain Mismatch | ||
| #1136 | Themify Shortcodes | 35 | 36 | 16 | 7k+ | Output is not escaped | ||
| #1137 | TikTok | 35 | 31 | 22 | 200k+ | Missing Arg Domain | ||
| #1138 | Two Factor Authentication | 35 | 108 | 139 | 20k+ | Output is not escaped | ||
| #1139 | VK Post Author Display | 35 | 87 | 111 | 10k+ | Non-prefixed function | ||
| #1140 | Void Elementor Post Grid Addon for Elementor Page builder | 35 | 189 | 93 | 3k+ | Text Domain Mismatch | ||
| #1141 | W4 Post List | 35 | 50 | 138 | 3k+ | Non-prefixed global variable | ||
| #1142 | Payphone – Payment Gateway Button | 35 | 3 | 2 | 2k+ | Hidden files included | ||
| #1143 | Converter for Media – Optimize images | Convert WebP & AVIF | 35 | 133 | 53 | 500k+ | curl curl setopt | ||
| #1144 | Translate WordPress with Weglot – Multilingual AI Translation | 35 | 37 | 115 | 60k+ | Non-prefixed global variable | ||
| #1145 | Open Graph and Twitter Card Tags | 35 | 15 | 27 | 60k+ | error log error log | ||
| #1146 | ALD – Dropshipping and Fulfillment for AliExpress and WooCommerce | 35 | 50 | 343 | 10k+ | Request data is not unslashed | ||
| #1147 | CardCom Payment Gateway | 35 | 201 | 84 | 3k+ | Text Domain Mismatch | ||
| #1148 | Title Limit for WooCommerce | 35 | 41 | 12 | 4k+ | Output is not escaped | ||
| #1149 | Abandoned Cart Lite for WooCommerce | 35 | 84 | 161 | 20k+ | Non-prefixed global variable | ||
| #1150 | Call for Price for WooCommerce | 35 | 5 | 37 | 8k+ | Non-prefixed hook name |