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,504 | 2,638 | 2k+ | Non-prefixed global variable | ||
| #4 | Robin Image Optimizer – Unlimited Image Optimization, WebP & AVIF | 20 | 556 | 543 | 100k+ | Output is not escaped | ||
| #5 | Landing Page Builder – Coming Soon page, Maintenance Mode, Lead Page, WordPress Landing Pages | 21 | 1,120 | 2,913 | 9k+ | Non-prefixed global variable | ||
| #6 | 12 Step Meeting List | 22 | 156 | 593 | 900 | Non-prefixed global variable | ||
| #7 | Database Access with Adminer | 22 | 983 | 2,553 | 1k+ | Non-prefixed global variable | ||
| #8 | Directorist: AI-Powered Business Directory, Listings & Classified Ads | 22 | 560 | 2,202 | 20k+ | Non-prefixed global variable | ||
| #9 | FunnelKit Payment Gateway for Stripe WooCommerce | 22 | 244 | 321 | 20k+ | Input is not sanitized | ||
| #10 | ShopWP | 22 | 430 | 225 | 700 | Text Domain Mismatch | ||
| #11 | Heureka | 23 | 534 | 237 | 400 | Exception output is not escaped | ||
| #12 | Photo Gallery, Sliders, Proofing and Themes – NextGEN Gallery | 23 | 2,129 | 993 | 300k+ | Text Domain Mismatch | ||
| #13 | Smart Slider 3 | 23 | 261 | 268 | 800k+ | Non-prefixed global variable | ||
| #14 | YITH WooCommerce Product Add-Ons | 23 | 461 | 2,069 | 20k+ | Non-prefixed global variable | ||
| #15 | 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 | ||
| #16 | Social Slider Feed – Social Media Feed & Gallery Widgets | 24 | 927 | 706 | 10k+ | Non-prefixed global variable | ||
| #17 | PDF for Gravity Forms + Drag And Drop Template Builder | 24 | 1,457 | 260 | 400 | wp function not compatible with requires wp | ||
| #18 | SecuPress with Simple SSL – Simple and Performant Security | 24 | 1,695 | 1,600 | 40k+ | Non-prefixed global variable | ||
| #19 | UserFeedback – Create Interactive Feedback Form, User Surveys, and Polls in Seconds | 24 | 441 | 235 | 200k+ | Text Domain Mismatch | ||
| #20 | Image SEO – AI-Driven Image SEO Optimizer | 25 | 350 | 328 | 1k+ | Text Domain Mismatch | ||
| #21 | WP 2FA – Two-factor authentication for WordPress | 25 | 255 | 717 | 100k+ | Non-prefixed global variable | ||
| #22 | PDF for WPForms + Drag and Drop Template Builder | 26 | 674 | 113 | 1k+ | wp function not compatible with requires wp | ||
| #23 | Bus Ticket Booking with Seat Reservation | 27 | 212 | 383 | 800 | Non-prefixed global variable | ||
| #24 | Tag Groups is the Advanced Way to Display Your Taxonomy Terms | 27 | 351 | 229 | 3k+ | Unsafe printing function | ||
| #25 | Friends | 28 | 164 | 679 | 900 | Non-prefixed global variable | ||
| #26 | PDF for Contact Form 7 + Drag and Drop Template Builder | 28 | 674 | 101 | 500 | wp function not compatible with requires wp | ||
| #27 | WP Travel Gutenberg Blocks | 28 | 485 | 157 | 900 | Output is not escaped | ||
| #28 | Sync Master Sheet – Product Sync with Google Sheet for WooCommerce | 30 | 136 | 300 | 400 | Non-prefixed global variable | ||
| #29 | Raffle Play Woocommerce | 31 | 151 | 199 | 800 | Output is not escaped | ||
| #30 | Smart Keywords Tool – 智能关键词插件 | 31 | 361 | 33 | 600 | Non Singular String Literal Domain | ||
| #31 | WooPayments: Integrated WooCommerce Payments | 31 | 178 | 309 | 900k+ | Exception output is not escaped | ||
| #32 | WPOrLogin – Custom Login, Social Login, Limit Attempts, Hide Login & reCAPTCHA | 31 | 483 | 217 | 2k+ | Unsafe printing function | ||
| #33 | Thrive Automator | 32 | 84 | 84 | 10k+ | SQL query is not prepared | ||
| #34 | WP 2-step verification | 32 | 154 | 65 | 1k+ | Output is not escaped | ||
| #35 | CartPops – High Converting Add To Cart Popup For WooCommerce | 33 | 63 | 188 | 4k+ | Non-prefixed global variable | ||
| #36 | WP GIF Uploader | 33 | 117 | 44 | 1k+ | Text Domain Mismatch | ||
| #37 | ImageLinks – Interactive Image Builder with Hotspots | 33 | 517 | 90 | 1k+ | Text Domain Mismatch | ||
| #38 | Floating Side Tab | 34 | 94 | 153 | 600 | Non-prefixed global variable | ||
| #39 | CAPTCHA 4WP – Antispam CAPTCHA solution for WordPress | 35 | 20 | 10 | 100k+ | Missing Arg Domain | ||
| #40 | Affiliate Link Marker | 35 | 31 | 4 | 400 | Text Domain Mismatch | ||
| #41 | Form Input Masks For Elementor Forms | 35 | 3 | 1 | 10k+ | Hidden files included | ||
| #42 | Iframely – WP media embeds, cards and blocks | 35 | 136 | 43 | 2k+ | Unsafe printing function | ||
| #43 | More Widgets | 35 | 55 | 15 | 1k+ | Output is not escaped | ||
| #44 | Order Delivery Date for WooCommerce | 35 | 2,077 | 73 | 10k+ | wp function not compatible with requires wp | ||
| #45 | SMNTCS Custom Logo Link | 35 | 48 | 1 | 3k+ | badly named files | ||
| #46 | Ultimate FAQ Solution | 35 | 650 | 137 | 600 | Text Domain Mismatch | ||
| #47 | Abandoned Cart Lite for WooCommerce | 35 | 85 | 161 | 20k+ | Non-prefixed global variable | ||
| #48 | Writesonic | 35 | 14 | 16 | 1k+ | Non-prefixed global variable | ||
| #49 | Block User Account | 36 | 280 | 137 | 1k+ | Unsafe printing function | ||
| #50 | Rabo Smart Pay for WooCommerce | 36 | 150 | 55 | 600 | Text Domain Mismatch |