badly_named_files
badly named files
Plugin Check reported a maintainability issue that can make the plugin harder to review, run, or update.
Why It Shows Up
The finding matches a WordPress coding-standard or Plugin Check rule for code clarity, compatibility, packaging, or API usage.
Why It Matters
Maintainability findings reduce confidence that the plugin will behave consistently across hosts, WordPress versions, and other plugins.
How to Fix
- Find the exact file and line in the raw scan output.
- Prefer WordPress APIs and standard coding patterns over custom or legacy behavior.
- If the warning is from bundled third-party code, document that separately and avoid modifying vendor files unless necessary.
References
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #501 | Country Code Selector | 38 | 91 | 20 | 1k+ | Unsafe printing function | ||
| #502 | Export User Data | 38 | 187 | 62 | 6k+ | Text Domain Mismatch | ||
| #503 | Goal Tracker – Custom Event Tracking for GA4 | 38 | 541 | 25 | 2k+ | Output is not escaped | ||
| #504 | CAOS | Host Google Analytics Locally | 38 | 124 | 44 | 10k+ | Output is not escaped | ||
| #505 | Jupiter X Core | 38 | 71 | 767 | 80k+ | Non-prefixed global variable | ||
| #506 | MimeTypes Link Icons | 38 | 53 | 34 | 8k+ | Output is not escaped | ||
| #507 | MisterPlan – Booking Engines | 38 | 73 | 138 | 600 | Nonce verification recommended | ||
| #508 | Polaroid Gallery | 38 | 105 | 20 | 1k+ | Unsafe printing function | ||
| #509 | Restrict Widgets | 38 | 135 | 40 | 4k+ | Non Singular String Literal Domain | ||
| #510 | SOGO Accessibility | 38 | 147 | 40 | 5k+ | Non Singular String Literal Domain | ||
| #511 | Photo Reviews for WooCommerce | 38 | 26 | 222 | 10k+ | Request data is not unslashed | ||
| #512 | mb.miniAudioPlayer – an HTML5 audio player for your mp3 files | 38 | 204 | 6 | 4k+ | Unsafe printing function | ||
| #513 | Real-Time Post Statistics for WordPress | 38 | 63 | 68 | 2k+ | SQL query is not prepared | ||
| #514 | mb.YTPlayer for background videos | 38 | 80 | 29 | 1k+ | Unsafe printing function | ||
| #515 | Zoho Campaigns | 38 | 3 | 129 | 3k+ | Non-prefixed global variable | ||
| #516 | Better User Search | 39 | 24 | 44 | 700 | SQL query is not prepared | ||
| #517 | Country & Phone Field Contact Form 7 | 39 | 117 | 34 | 40k+ | Text Domain Mismatch | ||
| #518 | Flex Import | 39 | 15 | 140 | 500 | Non-prefixed global variable | ||
| #519 | GDPRess | Eliminate external requests to increase GDPR compliance | 39 | 60 | 26 | 1k+ | Output is not escaped | ||
| #520 | Image Watermark WP | 39 | 88 | 82 | 600 | Output is not escaped | ||
| #521 | Quform Mailchimp | 39 | 65 | 147 | 800 | Nonce verification recommended | ||
| #522 | Quform Zapier | 39 | 60 | 123 | 1k+ | Nonce verification recommended | ||
| #523 | Sync Post With Other Site | 39 | 179 | 21 | 3k+ | Non Singular String Literal Domain | ||
| #524 | Classified Ads | 40 | 136 | 38 | 1k+ | Text Domain Mismatch | ||
| #525 | Post Tiles | 40 | 46 | 5 | 400 | Output is not escaped | ||
| #526 | Manual Related Posts | 40 | 51 | 32 | 1k+ | Output is not escaped | ||
| #527 | LazyLoad Plugin – Lazy Load Images, Videos, and Iframes | 40 | 31 | 17 | 100k+ | Output is not escaped | ||
| #528 | Visma Pay for Woocommerce | 40 | 27 | 37 | 2k+ | Output is not escaped | ||
| #529 | Advanced Excerpt | 41 | 69 | 43 | 70k+ | Unsafe printing function | ||
| #530 | Schema – All In One Schema Rich Snippets | 41 | 598 | 180 | 30k+ | Text Domain Mismatch | ||
| #531 | Amazon Web Services | 41 | 53 | 21 | 5k+ | Missing Translators Comment | ||
| #532 | Conditional Fields for Contact Form 7 | 41 | 106 | 53 | 100k+ | Output is not escaped | ||
| #533 | Duplicate Post Page Menu & Custom Post Type | 41 | 35 | 11 | 10k+ | Text Domain Mismatch | ||
| #534 | Feature A Page Widget | 41 | 66 | 5 | 3k+ | Output is not escaped | ||
| #535 | Infinite Ajax Scrolling Lite For Woocommerce | 41 | 33 | 28 | 500 | Output is not escaped | ||
| #536 | Responsive Lightbox | 41 | 68 | 10 | 10k+ | Output is not escaped | ||
| #537 | SnapScan Payment Gateway | 41 | 33 | 30 | 700 | Output is not escaped | ||
| #538 | WP Bulk Delete | 42 | 7 | 130 | 100k+ | Direct Query | ||
| #539 | WP Widget Clipboard – Duplicate widgets intuitively | 42 | 51 | 19 | 800 | Output is not escaped | ||
| #540 | BMI Adult & Kid Calculator | 43 | 33 | 138 | 700 | Request data is not unslashed | ||
| #541 | WP SmartCrop | 43 | 43 | 12 | 4k+ | Output is not escaped | ||
| #542 | Custom Dashboard Help Widget | 44 | 73 | 12 | 900 | Output is not escaped | ||
| #543 | ELEX WooCommerce Role Based Pricing | 44 | 213 | 196 | 2k+ | Non-prefixed global variable | ||
| #544 | WP Club Manager – WordPress Sports Club Plugin | 44 | 171 | 682 | 600 | Non-prefixed global variable | ||
| #545 | Wpazure Kit | 44 | 136 | 140 | 800 | Missing direct file access protection | ||
| #546 | Back In Stock Notifier for WooCommerce | WooCommerce Waitlist Pro | 45 | 26 | 117 | 20k+ | Non-prefixed hook name | ||
| #547 | WP Global Site Tag | 45 | 48 | 9 | 7k+ | Output is not escaped | ||
| #548 | Tako Movable Comments | 48 | 18 | 39 | 1k+ | Input is not sanitized | ||
| #549 | Category AJAX Filter — Advanced Filter for Posts & Custom Post Types | 50 | 2 | 435 | 6k+ | Non-prefixed global variable | ||
| #550 | AVIF Uploader | 51 | 49 | 44 | 4k+ | Missing Arg Domain |