upgrade_notice_limit
upgrade notice limit
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 |
|---|---|---|---|---|---|---|---|---|
| #101 | Order Delivery Date for WooCommerce | 35 | 2,060 | 73 | 10k+ | wp function not compatible with requires wp | ||
| #102 | Shop Page WP | 35 | 68 | 23 | 3k+ | Unsafe printing function | ||
| #103 | Sky Login Redirect | 35 | 7 | 24 | 2k+ | Non-prefixed hook name | ||
| #104 | Advance Product Search- Voice & Ajax Search for WooCommerce | 35 | 125 | 95 | 10k+ | Text Domain Mismatch | ||
| #105 | Abandoned Cart Lite for WooCommerce | 35 | 84 | 161 | 20k+ | Non-prefixed global variable | ||
| #106 | Stock Manager for WooCommerce | 35 | 5 | 45 | 20k+ | Non-prefixed global variable | ||
| #107 | WPGraphQL | 35 | 11 | 86 | 30k+ | Non-prefixed hook name | ||
| #108 | WP-LESS | 35 | 16 | 8 | 10k+ | Missing direct file access protection | ||
| #109 | WPGraphQL for ACF | 35 | 8 | 18 | 10k+ | Hidden files included | ||
| #110 | CMB2 | 36 | 148 | 19 | 300k+ | Output is not escaped | ||
| #111 | Dashboard Widgets Suite | 36 | 206 | 124 | 4k+ | Output is not escaped | ||
| #112 | List category posts | 36 | 162 | 17 | 80k+ | Output is not escaped | ||
| #113 | WP Show Posts | 36 | 107 | 102 | 70k+ | Output is not escaped | ||
| #114 | Redirectioner | 37 | 234 | 410 | 1k+ | Output is not escaped | ||
| #115 | Adaptive Images for WordPress | 37 | 51 | 75 | 3k+ | Output is not escaped | ||
| #116 | Better Click To Share – Shareable Quote Boxes for X (Twitter) | 37 | 170 | 59 | 6k+ | Unsafe printing function | ||
| #117 | Duo Two-Factor Authentication | 37 | 44 | 61 | 3k+ | Missing nonce verification | ||
| #118 | Favorites | 37 | 204 | 121 | 10k+ | Unsafe printing function | ||
| #119 | Page scroll to id | 37 | 38 | 120 | 100k+ | Missing nonce verification | ||
| #120 | Website Pop-up Builder by BDOW! (formerly Sumo): Pop-ups + forms for email opt-ins and lead generation | 37 | 42 | 33 | 10k+ | Output is not escaped | ||
| #121 | Parallax Scroll by adamrob.co.uk | 38 | 102 | 51 | 1k+ | Output is not escaped | ||
| #122 | CF7 to Webhook | 38 | 102 | 72 | 30k+ | Unsafe printing function | ||
| #123 | Custom Menu Wizard Widget | 38 | 326 | 30 | 3k+ | Output is not escaped | ||
| #124 | Elemailer Lite – Elementor email template & campaign builder | 38 | 44 | 50 | 5k+ | Output is not escaped | ||
| #125 | Buttonizer – Social Media Share Buttons, Social Icons, & Social Feeds | 38 | 167 | 82 | 50k+ | Output is not escaped | ||
| #126 | Foyer – Digital Signage for WordPress | 38 | 148 | 191 | 1k+ | Non-prefixed global variable | ||
| #127 | RSS Feed Widget | 38 | 207 | 89 | 2k+ | Unsafe printing function | ||
| #128 | Sticky Header Effects for Elementor | 38 | 243 | 71 | 300k+ | Text Domain Mismatch | ||
| #129 | Termly – GDPR/CCPA Cookie Consent Banner | 38 | 54 | 92 | 80k+ | Non-prefixed global variable | ||
| #130 | Native PHP Sessions | 38 | 30 | 92 | 10k+ | Direct Query | ||
| #131 | External Store for Shopify | 38 | 97 | 33 | 2k+ | Output is not escaped | ||
| #132 | Weather Underground | 38 | 64 | 27 | 3k+ | Output is not escaped | ||
| #133 | Content Visibility for Divi Builder | 39 | 184 | 59 | 2k+ | Non Singular String Literal Domain | ||
| #134 | Email Marketing by EmailOctopus | 39 | 43 | 62 | 3k+ | Non-prefixed global variable | ||
| #135 | BestWebSoft's Like & Share – Posts, Pages and Widget Social Extension plugin for WordPress | 39 | 480 | 226 | 4k+ | Text Domain Mismatch | ||
| #136 | QR Redirector | 39 | 48 | 54 | 4k+ | Output is not escaped | ||
| #137 | Wallet for WooCommerce | 39 | 36 | 503 | 20k+ | Non-prefixed hook name | ||
| #138 | Advanced Custom Fields: Font Awesome Field | 40 | 327 | 70 | 90k+ | Text Domain Mismatch | ||
| #139 | FAQ Schema – Accordion, Tab, Slider & Gutenberg Block | 40 | 253 | 46 | 2k+ | Output is not escaped | ||
| #140 | WooSidebars | 40 | 43 | 37 | 100k+ | Missing Translators Comment | ||
| #141 | Easy PayPal & Stripe Buy Now Button | 40 | 388 | 96 | 10k+ | Unsafe printing function | ||
| #142 | Auto Image Attributes From Filename With Bulk Updater (Add Alt Text, Image Title For Image SEO) | 41 | 175 | 26 | 100k+ | Unsafe printing function | ||
| #143 | Conditional Fields for Contact Form 7 | 41 | 113 | 52 | 100k+ | Output is not escaped | ||
| #144 | Mihdan: Yandex Turbo Feed | 41 | 65 | 39 | 1k+ | Output is not escaped | ||
| #145 | Squeeze – Image Optimization & Compression, WEBP Conversion | 41 | 18 | 71 | 2k+ | Nonce verification recommended | ||
| #146 | Advanced Custom Stock Status | 41 | 84 | 33 | 9k+ | Output is not escaped | ||
| #147 | Lightweight Social Icons | 42 | 59 | 1 | 30k+ | Output is not escaped | ||
| #148 | Category Editor | 43 | 54 | 18 | 8k+ | Unsafe printing function | ||
| #149 | User Role Editor | 43 | 117 | 145 | 700k+ | Output is not escaped | ||
| #150 | ELEX WooCommerce Role Based Pricing | 44 | 213 | 196 | 2k+ | Non-prefixed global variable |