Generic.PHP.DisallowShortOpenTag.EchoFound
Short PHP open tag found
The plugin contains PHP syntax or file formatting that can cause compatibility problems.
Why It Shows Up
Plugin Check found short tags, alternative PHP tags, byte order marks, mixed line endings, or similar formatting issues.
Why It Matters
Formatting issues can break parsing, cause unexpected output, or behave differently across PHP configurations and hosts.
How to Fix
- Use full `<?php` opening tags.
- Save files as UTF-8 without a byte order mark.
- Normalize line endings and run formatting checks before release.
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #101 | Disable Admin Notices – Hide Dashboard Notifications | 25 | 465 | 195 | 100k+ | Output is not escaped | ||
| #102 | Events Made Easy | 25 | 521 | 6,324 | 1k+ | Non-prefixed function | ||
| #103 | Fluid Checkout for WooCommerce – Lite | 25 | 370 | 841 | 20k+ | Non-prefixed hook name | ||
| #104 | Media Cloud Sync | 25 | 1,095 | 274 | 1k+ | Exception output is not escaped | ||
| #105 | Poll Maker by AYS – Versus Polls, Anonymous Polls, Image Polls | 25 | 489 | 1,413 | 7k+ | Non-prefixed global variable | ||
| #106 | Premmerce | 25 | 712 | 1,411 | 500 | Non-prefixed global variable | ||
| #107 | Premmerce Redirect Manager | 25 | 756 | 1,407 | 500 | Non-prefixed global variable | ||
| #108 | Premmerce Wholesale Pricing for WooCommerce | 25 | 635 | 1,377 | 400 | Non-prefixed global variable | ||
| #109 | Secure Copy Content Protection and Content Locking | 25 | 958 | 799 | 20k+ | Output is not escaped | ||
| #110 | Appointment Booking Calendar — Simply Schedule Appointments Booking Plugin | 25 | 958 | 738 | 60k+ | Text Domain Mismatch | ||
| #111 | TranslatePress – Translate Multilingual sites with AI Translation | 25 | 499 | 1,639 | 400k+ | Non-prefixed hook name | ||
| #112 | Vayu Blocks – Website Builder for the Gutenberg Block Editor | 25 | 174 | 233 | 1k+ | Text Domain Mismatch | ||
| #113 | WP Airbnb Review Slider | 25 | 325 | 646 | 1k+ | Non-prefixed global variable | ||
| #114 | WP Review Slider | 25 | 1,186 | 2,279 | 6k+ | Non-prefixed global variable | ||
| #115 | WP Popups – WordPress Popup builder | 25 | 440 | 342 | 30k+ | Output is not escaped | ||
| #116 | WP TripAdvisor Review Slider | 25 | 1,063 | 2,582 | 8k+ | Non-prefixed global variable | ||
| #117 | WP Yelp Review Slider | 25 | 429 | 645 | 1k+ | Non-prefixed global variable | ||
| #118 | ActiveCampaign for WooCommerce | 26 | 541 | 190 | 6k+ | Exception output is not escaped | ||
| #119 | Blog Floating Button | 26 | 705 | 240 | 9k+ | Output is not escaped | ||
| #120 | Translate WordPress with ConveyThis – AI Multilingual Plugin | 26 | 159 | 297 | 1k+ | Non-prefixed global variable | ||
| #121 | Accept Donations with PayPal & Stripe | 26 | 916 | 572 | 10k+ | Unsafe printing function | ||
| #122 | Omise Payments | 26 | 358 | 256 | 2k+ | Output is not escaped | ||
| #123 | LoginWP (Formerly Peter's Login Redirect) | 26 | 401 | 278 | 90k+ | Output is not escaped | ||
| #124 | Premmerce User Roles | 26 | 597 | 1,357 | 600 | Non-prefixed global variable | ||
| #125 | Related Posts Thumbnails Plugin for WordPress | 26 | 382 | 198 | 20k+ | Output is not escaped | ||
| #126 | Video Gallery – Vimeo and YouTube Gallery | 26 | 561 | 794 | 6k+ | Non-prefixed global variable | ||
| #127 | Parcel Pro | 26 | 171 | 220 | 600 | Output is not escaped | ||
| #128 | WP Flashy Marketing Automation | 26 | 432 | 186 | 2k+ | Text Domain Mismatch | ||
| #129 | ImageRecycle pdf & image compression | 27 | 329 | 204 | 1k+ | Text Domain Mismatch | ||
| #130 | Loco Translate | 27 | 451 | 225 | 1m+ | Output is not escaped | ||
| #131 | Tussendoor – Open RDW | 27 | 301 | 140 | 600 | Text Domain Mismatch | ||
| #132 | Robokassa payment gateway for Woocommerce | 27 | 95 | 211 | 3k+ | Non-prefixed global variable | ||
| #133 | Hubbub Lite – Fast, free social sharing and follow buttons | 27 | 337 | 172 | 30k+ | Text Domain Mismatch | ||
| #134 | Transbank Webpay | 27 | 198 | 211 | 10k+ | Non-prefixed global variable | ||
| #135 | Under Construction, Coming Soon & Maintenance Mode | 27 | 401 | 148 | 10k+ | Output is not escaped | ||
| #136 | Verge3D Publishing and E-Commerce | 27 | 245 | 298 | 400 | Nonce verification recommended | ||
| #137 | Video Gallery for WooCommerce – Add Product Video & Featured Video | 27 | 116 | 476 | 3k+ | Non-prefixed global variable | ||
| #138 | VOD Infomaniak | 27 | 797 | 385 | 20k+ | Output is not escaped | ||
| #139 | AForms — Form Builder for Price Calculator & Cost Estimation | 28 | 564 | 95 | 3k+ | Text Domain Mismatch | ||
| #140 | Void Contact Form 7 Widget For Elementor Page Builder | 28 | 279 | 66 | 10k+ | Text Domain Mismatch | ||
| #141 | Kama Thumbnail | 28 | 80 | 47 | 9k+ | Output is not escaped | ||
| #142 | Laposta Signup Basic | 28 | 276 | 67 | 2k+ | Output is not escaped | ||
| #143 | Store Hours for WooCommerce | 28 | 525 | 60 | 2k+ | Output is not escaped | ||
| #144 | Query Wrangler | 28 | 628 | 229 | 700 | Output is not escaped | ||
| #145 | ReDi Restaurant Reservation – Instant Restaurant Booking & Table Reservation System | 28 | 1,013 | 239 | 800 | Unsafe printing function | ||
| #146 | WPify Woo – Withdrawal, CRN/VAT, QR payments, Heureka and more for WooCommerce | 28 | 177 | 226 | 5k+ | Output is not escaped | ||
| #147 | WP Synchro – The Ultimate WordPress Migration Tool | 28 | 243 | 244 | 2k+ | Missing Translators Comment | ||
| #148 | Attribute Stock for WooCommerce – Shared Stock & Variable Quantities (Lite Version) | 29 | 481 | 313 | 2k+ | Text Domain Mismatch | ||
| #149 | Bitcoin Payments – Blockonomics | 29 | 208 | 227 | 2k+ | Output is not escaped | ||
| #150 | Countdown, Coming Soon, Maintenance – Countdown & Clock | 29 | 1,735 | 143 | 10k+ | Non Singular String Literal Domain |