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 |
|---|---|---|---|---|---|---|---|---|
| #1301 | ApplyOnline – Application Form Builder and Manager | 30 | 345 | 244 | 2k+ | Output is not escaped | ||
| #1302 | Contact Form 7 Connector | 30 | 324 | 196 | 5k+ | Text Domain Mismatch | ||
| #1303 | Arile Extra | 30 | 537 | 570 | 10k+ | Non-prefixed global variable | ||
| #1304 | AutoWP – AI Content Writer & Rewriter | 30 | 548 | 370 | 1k+ | Text Domain Mismatch | ||
| #1305 | Private groups | 30 | 583 | 316 | 1k+ | Unsafe printing function | ||
| #1306 | Classified Listing Toolkits | 30 | 43 | 1,859 | 4k+ | Non-prefixed global variable | ||
| #1307 | Colete-Online | 30 | 776 | 346 | 600 | Text Domain Mismatch | ||
| #1308 | ContentBot AI Writer (AI Content) | 30 | 317 | 69 | 500 | rand rand | ||
| #1309 | Cryptocurrency Donation Box – Bitcoin & Crypto Donations | 30 | 334 | 284 | 500 | Output is not escaped | ||
| #1310 | Custom Search by BestWebSoft – WordPress Custom Search Plugin | 30 | 454 | 228 | 900 | Text Domain Mismatch | ||
| #1311 | DethemeKit for Elementor | 30 | 335 | 228 | 30k+ | Output is not escaped | ||
| #1312 | Easy Affiliate Links | 30 | 186 | 198 | 7k+ | Missing direct file access protection | ||
| #1313 | Easy Custom Auto Excerpt | 30 | 84 | 166 | 6k+ | Non-prefixed global variable | ||
| #1314 | EasyParcel Shipping– All-in-one Shipping Solution, Real-Time Shipping Rates | 30 | 37 | 608 | 600 | Non-prefixed global variable | ||
| #1315 | Edwiser Bridge – WordPress Moodle Integration | 30 | 4 | 669 | 4k+ | Non-prefixed hook name | ||
| #1316 | Element Invader – Template Kits for Elementor | 30 | 274 | 130 | 3k+ | Output is not escaped | ||
| #1317 | Email Templates Customizer and Designer for WordPress and WooCommerce | 30 | 250 | 349 | 20k+ | Non-prefixed global variable | ||
| #1318 | Epeken All Kurir for Woocommerce | 30 | 590 | 1,246 | 500 | Missing nonce verification | ||
| #1319 | PiWeb Export Customers Users & Guest customer to CSV for WooCommerce | 30 | 173 | 75 | 1k+ | Text Domain Mismatch | ||
| #1320 | FormLift for Keap (Legacy) Web Forms | 30 | 162 | 315 | 400 | Request data is not unslashed | ||
| #1321 | Formzu WP | 30 | 167 | 163 | 3k+ | Text Domain Mismatch | ||
| #1322 | Kargo Takip, Kargo SMS, İlçe Mahalle Sözleşme by Hezarfen | 30 | 70 | 297 | 2k+ | Non-prefixed global variable | ||
| #1323 | core plugin for kitestudio themes | 30 | 244 | 415 | 500 | Nonce verification recommended | ||
| #1324 | Laposta Signup Embed | 30 | 88 | 19 | 1k+ | Exception output is not escaped | ||
| #1325 | Mailrelay | 30 | 318 | 170 | 1k+ | Text Domain Mismatch | ||
| #1326 | Midtrans-WooCommerce | 30 | 112 | 132 | 5k+ | Non-prefixed global variable | ||
| #1327 | Naver webmaster syndication v2 | 30 | 89 | 129 | 500 | Output is not escaped | ||
| #1328 | OoohBoi Steroids for Elementor | 30 | 2,059 | 100 | 40k+ | Text Domain Mismatch | ||
| #1329 | Operation Demo Importer – Demo Importer For WPoperation Themes | 30 | 245 | 104 | 1k+ | Text Domain Mismatch | ||
| #1330 | PitchPrint | 30 | 76 | 163 | 400 | Input is not sanitized | ||
| #1331 | Post Grid, Slider & Carousel Ultimate – with Shortcode, Gutenberg Block & Elementor Widget | 30 | 231 | 102 | 1k+ | Non Singular String Literal Domain | ||
| #1332 | Pre-Orders for WooCommerce | 30 | 568 | 261 | 7k+ | Output is not escaped | ||
| #1333 | Sync Master Sheet – Product Sync with Google Sheet for WooCommerce | 30 | 136 | 300 | 400 | Non-prefixed global variable | ||
| #1334 | Pubjet | پابجت | 30 | 91 | 172 | 1k+ | Output is not escaped | ||
| #1335 | QA Assistants – Driven by data | 30 | 4 | 867 | 2k+ | Non-prefixed global variable | ||
| #1336 | Real Cookie Banner: GDPR & ePrivacy Cookie Consent | 30 | 9 | 496 | 100k+ | Database parameter is not escaped | ||
| #1337 | Realbig For WordPress | 30 | 36 | 591 | 1k+ | Non-prefixed global variable | ||
| #1338 | Responsive Addons for Elementor – Free Elementor Addons, Kits and Elementor Templates | 30 | 60 | 387 | 3k+ | Non-prefixed global variable | ||
| #1339 | Rublon Multi-Factor Authentication (MFA) | 30 | 216 | 160 | 400 | Output is not escaped | ||
| #1340 | SmartCrawl SEO checker, analyzer & optimizer | 30 | 347 | 1,307 | 20k+ | Non-prefixed global variable | ||
| #1341 | Stackable – Page Builder Gutenberg Blocks | 30 | 482 | 87 | 100k+ | Non Singular String Literal Domain | ||
| #1342 | Star Addons for Elementor | 30 | 236 | 255 | 1k+ | Non-prefixed global variable | ||
| #1343 | Subscriptions for WooCommerce | 30 | 1 | 1,190 | 10k+ | Non-prefixed global variable | ||
| #1344 | Taboola | 30 | 89 | 147 | 1k+ | Output is not escaped | ||
| #1345 | Tabs Responsive – With WooCommerce Product Tabs Extension | 30 | 575 | 255 | 20k+ | Non Singular String Literal Domain | ||
| #1346 | Themify Portfolio Post | 30 | 214 | 102 | 30k+ | Text Domain Mismatch | ||
| #1347 | Travel Booking Toolkit | 30 | 245 | 324 | 3k+ | Non-prefixed global variable | ||
| #1348 | Travelers' Map | 30 | 311 | 155 | 1k+ | Output is not escaped | ||
| #1349 | Tutor LMS Divi Modules | 30 | 420 | 722 | 1k+ | Non-prefixed global variable | ||
| #1350 | Urvanov Syntax Highlighter | 30 | 221 | 87 | 3k+ | Output is not escaped |