readme_mismatched_header_requires_php
readme mismatched header requires php
The plugin readme contains metadata or formatting that WordPress.org may not parse as intended.
Why It Shows Up
Plugin Check found readme headers, sections, tags, contributors, language, or formatting that do not match repository expectations.
Why It Matters
The readme powers the WordPress.org plugin page. Parser issues can hide important metadata, show stale compatibility, or reduce discoverability.
How to Fix
- Use standard readme headers and section names.
- Keep short descriptions, tags, contributors, Requires at least, Requires PHP, Tested up to, and Stable tag valid and current.
- Run the readme through Plugin Check again after editing.
References
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #1 | AnyComment | 17 | 445 | 449 | 5k+ | Output is not escaped | ||
| #2 | Block Slider – Responsive Image Slider, Video Slider & Post Slider | 19 | 555 | 1,291 | 3k+ | Non-prefixed global variable | ||
| #3 | WP Directory Kit | 19 | 1,502 | 2,641 | 2k+ | Non-prefixed global variable | ||
| #4 | Robin Image Optimizer – Unlimited Image Optimization, WebP & AVIF | 20 | 556 | 543 | 100k+ | Output is not escaped | ||
| #5 | Directorist: AI-Powered Business Directory, Listings & Classified Ads | 21 | 484 | 2,327 | 20k+ | Non-prefixed global variable | ||
| #6 | Landing Page Builder – Coming Soon page, Maintenance Mode, Lead Page, WordPress Landing Pages | 21 | 1,120 | 2,913 | 8k+ | Non-prefixed global variable | ||
| #7 | Database Access with Adminer | 22 | 983 | 2,553 | 1k+ | Non-prefixed global variable | ||
| #8 | ShopWP | 22 | 430 | 225 | 700 | Text Domain Mismatch | ||
| #9 | 12 Step Meeting List | 23 | 147 | 593 | 900 | Non-prefixed global variable | ||
| #10 | Heureka | 23 | 534 | 237 | 400 | Exception output is not escaped | ||
| #11 | Smart Slider 3 | 23 | 263 | 268 | 800k+ | Non-prefixed global variable | ||
| #12 | UserFeedback – Create Interactive Feedback Form, User Surveys, and Polls in Seconds | 23 | 437 | 234 | 200k+ | Text Domain Mismatch | ||
| #13 | Vayu Blocks – Website Builder for the Gutenberg Block Editor | 23 | 176 | 235 | 900 | Text Domain Mismatch | ||
| #14 | Advanced Menu Manager Pro – Built for Content-heavy WordPress Sites to Add, Filter, Lock, and Edit Menus Easily | 24 | 545 | 1,402 | 400 | Non-prefixed global variable | ||
| #15 | Social Slider Feed – Social Media Feed & Gallery Widgets | 24 | 927 | 706 | 10k+ | Non-prefixed global variable | ||
| #16 | PDF for Gravity Forms + Drag And Drop Template Builder | 24 | 1,457 | 260 | 400 | wp function not compatible with requires wp | ||
| #17 | WP 2FA – Two-factor authentication for WordPress | 25 | 255 | 717 | 100k+ | Non-prefixed global variable | ||
| #18 | Bus Ticket Booking with Seat Reservation | 26 | 211 | 398 | 700 | Non-prefixed global variable | ||
| #19 | Friends | 26 | 168 | 705 | 900 | Non-prefixed global variable | ||
| #20 | Image SEO – AI-Driven Image SEO Optimizer | 26 | 348 | 329 | 1k+ | Text Domain Mismatch | ||
| #21 | FunnelKit Payment Gateway for Stripe WooCommerce | 27 | 107 | 206 | 20k+ | Input is not sanitized | ||
| #22 | PDF for Contact Form 7 + Drag and Drop Template Builder | 28 | 678 | 101 | 500 | wp function not compatible with requires wp | ||
| #23 | WP Travel Gutenberg Blocks | 28 | 485 | 157 | 900 | Output is not escaped | ||
| #24 | Sync Master Sheet – Product Sync with Google Sheet for WooCommerce | 29 | 182 | 304 | 300 | Non-prefixed global variable | ||
| #25 | Tag Groups is the Advanced Way to Display Your Taxonomy Terms | 29 | 342 | 181 | 3k+ | Unsafe printing function | ||
| #26 | Raffle Play Woocommerce | 31 | 151 | 199 | 700 | Output is not escaped | ||
| #27 | WooPayments: Integrated WooCommerce Payments | 31 | 181 | 310 | 800k+ | Exception output is not escaped | ||
| #28 | WPOrLogin – Custom Login, Social Login, Limit Attempts, Hide Login & reCAPTCHA | 31 | 483 | 217 | 2k+ | Unsafe printing function | ||
| #29 | Thrive Automator | 32 | 84 | 84 | 10k+ | SQL query is not prepared | ||
| #30 | WP 2-step verification | 32 | 154 | 65 | 1k+ | Output is not escaped | ||
| #31 | ImageLinks – Interactive Image Builder with Hotspots | 33 | 517 | 90 | 1k+ | Text Domain Mismatch | ||
| #32 | Cashflows for WooCommerce | 34 | 140 | 37 | 600 | Text Domain Mismatch | ||
| #33 | Floating Side Tab | 34 | 94 | 153 | 600 | Non-prefixed global variable | ||
| #34 | Rabo Smart Pay for WooCommerce | 34 | 180 | 33 | 600 | Text Domain Mismatch | ||
| #35 | Affiliate Link Marker | 35 | 31 | 4 | 400 | Text Domain Mismatch | ||
| #36 | Form Input Masks For Elementor Forms | 35 | 3 | 1 | 10k+ | Hidden files included | ||
| #37 | Iframely – WP media embeds, cards and blocks | 35 | 136 | 43 | 2k+ | Unsafe printing function | ||
| #38 | More Widgets | 35 | 55 | 15 | 1k+ | Output is not escaped | ||
| #39 | Order Delivery Date for WooCommerce | 35 | 2,077 | 73 | 10k+ | wp function not compatible with requires wp | ||
| #40 | SMNTCS Custom Logo Link | 35 | 48 | 1 | 3k+ | badly named files | ||
| #41 | Ultimate FAQ Solution | 35 | 650 | 137 | 600 | Text Domain Mismatch | ||
| #42 | Abandoned Cart Lite for WooCommerce | 35 | 85 | 161 | 20k+ | Non-prefixed global variable | ||
| #43 | Block User Account | 36 | 280 | 137 | 1k+ | Unsafe printing function | ||
| #44 | Meow Mailer – Free SMTP, Everything Included | 36 | 85 | 44 | 700 | Non Singular String Literal Domain | ||
| #45 | WP Custom Cursors | WordPress Cursor Plugin | 36 | 691 | 390 | 8k+ | Text Domain Mismatch | ||
| #46 | Ultimate Custom Add To Cart Button (Ajax) For WooCommerce by Binary Carpenter | 37 | 151 | 61 | 600 | Output is not escaped | ||
| #47 | imoje | 37 | 68 | 67 | 2k+ | Output is not escaped | ||
| #48 | Poptics – Popup Builder, Email Opt-ins, Exit-Intent & WooCommerce Popups Sales | 37 | 59 | 64 | 1k+ | SQL query is not prepared | ||
| #49 | SendWP | 37 | 47 | 42 | 10k+ | Output is not escaped | ||
| #50 | ValidateCertify Free | 37 | 123 | 97 | 900 | Text Domain Mismatch |