WordPress.Security.EscapeOutput.OutputNotEscaped
Output is not escaped
Dynamic data is printed to the page without an escaping function for the output context.
Why It Shows Up
WordPress Coding Standards detected a variable, option, request value, or function result reaching HTML output without a nearby escaping call.
Why It Matters
Unescaped output can become cross-site scripting when attackers control any part of the value being printed.
How to Fix
- Use `esc_html()` for plain text, `esc_attr()` for attributes, and `esc_url()` for URLs.
- Use `wp_kses()` or `wp_kses_post()` when limited HTML is intentionally allowed.
- Escape as late as possible, right before output, so the selected escaping function matches the final context.
References
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #901 | Online Scheduling and Appointment Booking System – Bookly | 25 | 1,088 | 888 | 60k+ | SQL query is not prepared | ||
| #902 | Breeze Cache | 25 | 218 | 800 | 400k+ | Non-prefixed global variable | ||
| #903 | Broken Link Checker | 25 | 727 | 600 | 500k+ | Output is not escaped | ||
| #904 | BuddyPress Docs | 25 | 284 | 421 | 7k+ | Nonce verification recommended | ||
| #905 | Bulk Edit and Create User Profiles – WP Sheet Editor | 25 | 995 | 1,001 | 1k+ | Text Domain Mismatch | ||
| #906 | PublishPress Capabilities – User Role Editor, Access Permissions, User Capabilities, Admin Menus | 25 | 362 | 1,586 | 100k+ | Non-prefixed global variable | ||
| #907 | SilentShield – Captcha & Anti-Spam for WordPress (CF7, WPForms, Elementor, WooCommerce) | 25 | 235 | 214 | 10k+ | Database parameter is not escaped | ||
| #908 | GSheetConnector for CF7 – Connect Contact Form 7 to Google Sheets and Send Form Submissions in Real Time | 25 | 614 | 1,431 | 40k+ | Non-prefixed global variable | ||
| #909 | CheckoutWC Lite – Conversion optimized WooCommerce checkout | 25 | 1,416 | 854 | 3k+ | Text Domain Mismatch | ||
| #910 | CheckView – Form & Checkout Testing | 25 | 66 | 337 | 1k+ | Direct Query | ||
| #911 | HIPAA FORMS | 25 | 414 | 416 | 800 | Request data is not unslashed | ||
| #912 | Admin Columns | 25 | 613 | 995 | 100k+ | Non-prefixed namespace | ||
| #913 | Colissimo shipping methods for WooCommerce | 25 | 1,755 | 557 | 10k+ | Text Domain Mismatch | ||
| #914 | Website Builder by SeedProd — Theme Builder, Landing Page Builder, Coming Soon Page, Maintenance Mode | 25 | 99 | 1,040 | 700k+ | Non-prefixed global variable | ||
| #915 | Disable Comments & Delete All Comments | 25 | 503 | 185 | 9k+ | Output is not escaped | ||
| #916 | Coinbase Business Gateway for WooCommerce | 25 | 569 | 1,317 | 800 | Non-prefixed global variable | ||
| #917 | Conditional Payment Methods for WooCommerce | 25 | 548 | 1,398 | 1k+ | Non-prefixed global variable | ||
| #918 | Contact Form DB Divi | 25 | 533 | 1,299 | 3k+ | Non-prefixed global variable | ||
| #919 | Contact Form Email | 25 | 409 | 898 | 9k+ | Non-prefixed global variable | ||
| #920 | Coupon Creator | 25 | 698 | 412 | 1k+ | Output is not escaped | ||
| #921 | CP Contact Form with PayPal | 25 | 466 | 936 | 800 | Unsafe printing function | ||
| #922 | Cryptocurrency Payment Gateway | 25 | 1,963 | 589 | 400 | Text Domain Mismatch | ||
| #923 | CSS & JavaScript Toolbox | 25 | 155 | 617 | 10k+ | Non-prefixed class | ||
| #924 | Smash Balloon Social Post Feed – Simple Social Feeds for WordPress | 25 | 554 | 982 | 200k+ | Output is not escaped | ||
| #925 | DecaLog | 25 | 943 | 236 | 1k+ | Exception output is not escaped | ||
| #926 | Demo Importer Plus | 25 | 58 | 239 | 10k+ | Non-prefixed hook name | ||
| #927 | Disable Admin Notices – Hide Dashboard Notifications | 25 | 465 | 195 | 100k+ | Output is not escaped | ||
| #928 | Docket Cache – Object Cache Accelerator | 25 | 333 | 481 | 20k+ | Output is not escaped | ||
| #929 | ELEX WooCommerce Dynamic Pricing and Discounts | 25 | 478 | 748 | 800 | Text Domain Mismatch | ||
| #930 | Show Eventbrite Events – Event Feed for Eventbrite | 25 | 595 | 1,525 | 800 | Non-prefixed global variable | ||
| #931 | Event Genius – Event Management, Events Calendar, Registration, and RSVP | 25 | 181 | 1,579 | 500 | Non-prefixed global variable | ||
| #932 | Events Made Easy | 25 | 521 | 6,324 | 1k+ | Non-prefixed function | ||
| #933 | F4 Post Tree | 25 | 536 | 1,332 | 500 | Non-prefixed global variable | ||
| #934 | 胖鼠采集(Fat Rat Collect) | 25 | 630 | 190 | 900 | Missing Arg Domain | ||
| #935 | FlatPM – Ad Manager, AdSense and Custom Code | 25 | 3,017 | 557 | 10k+ | Text Domain Mismatch | ||
| #936 | FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler | 25 | 319 | 454 | 7k+ | Non-prefixed global variable | ||
| #937 | Fluid Checkout for WooCommerce – Lite | 25 | 370 | 841 | 20k+ | Non-prefixed hook name | ||
| #938 | Lightbox & Modal Popup WordPress Plugin – FooBox | 25 | 610 | 1,365 | 100k+ | Non-prefixed global variable | ||
| #939 | Photo Gallery by FooGallery : Responsive Image Gallery, Masonry Gallery & Carousel | 25 | 876 | 1,798 | 100k+ | Non-prefixed global variable | ||
| #940 | AnWP Football Leagues | 25 | 3,598 | 1,955 | 800 | Text Domain Mismatch | ||
| #941 | Form Vibes – Save Contact Form 7 & Elementor Form Entries to Database | 25 | 716 | 1,509 | 10k+ | Non-prefixed global variable | ||
| #942 | WP Fast Total Search – The Power of Indexed Search | 25 | 209 | 291 | 1k+ | Non-prefixed global variable | ||
| #943 | FunnelKit – Funnel Builder for WooCommerce Checkout | 25 | 3,164 | 2,624 | 30k+ | Text Domain Mismatch | ||
| #944 | Gallery Images Ape | 25 | 588 | 341 | 1k+ | Output is not escaped | ||
| #945 | Photo Gallery by Ays – Responsive Image Gallery | 25 | 466 | 820 | 1k+ | Output is not escaped | ||
| #946 | Portfolio Gallery – Responsive Image Gallery | 25 | 108 | 2,463 | 1k+ | Non-prefixed global variable | ||
| #947 | GD Rating System | 25 | 1,511 | 1,043 | 1k+ | Output is not escaped | ||
| #948 | GD Security Headers | 25 | 407 | 521 | 1k+ | Output is not escaped | ||
| #949 | GeekyBot — AI Copilot, Chatbot, WooCommerce Lead Gen & Zero-Prompt Content | 25 | 88 | 863 | 6k+ | Non-prefixed global variable | ||
| #950 | Genesis Club Lite | 25 | 513 | 317 | 900 | Output is not escaped |