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 |
|---|---|---|---|---|---|---|---|---|
| #851 | WP School Calendar | 24 | 1,361 | 1,721 | 400 | Non-prefixed global variable | ||
| #852 | WP-Stateless – Google Cloud Storage | 24 | 1,036 | 482 | 4k+ | Non Singular String Literal Domain | ||
| #853 | WP Travel – Ultimate Travel Booking System, Tour Management Engine | 24 | 227 | 1,954 | 4k+ | Non-prefixed hook name | ||
| #854 | WP Travel Engine – Tour Booking Plugin – Tour Operator Software | 24 | 2,012 | 5,689 | 20k+ | Non-prefixed global variable | ||
| #855 | Export All Posts, Products, Orders & Users | WP Ultimate Exporter | WordPress CSV Export | 24 | 363 | 1,130 | 6k+ | Direct Query | ||
| #856 | Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress | 24 | 2,581 | 2,109 | 100k+ | Output is not escaped | ||
| #857 | WP User Manager – User Profile Builder & Membership | 24 | 787 | 539 | 10k+ | Exception output is not escaped | ||
| #858 | WP Voting Contest Lite | 24 | 259 | 258 | 400 | Text Domain Mismatch | ||
| #859 | WPAdverts – Classifieds Plugin | 24 | 1,308 | 496 | 4k+ | Output is not escaped | ||
| #860 | WPeMatico RSS Feed Fetcher | 24 | 1,378 | 587 | 10k+ | Output is not escaped | ||
| #861 | WPGSI: Spreadsheet Integration | 24 | 784 | 1,587 | 2k+ | Non-prefixed global variable | ||
| #862 | WPIDE – File Manager & Code Editor | 24 | 612 | 1,399 | 40k+ | Non-prefixed global variable | ||
| #863 | WPSpeed – WordPress Speed, Cache & Performance Optimization (Core Web Vitals, PageSpeed 100) | 24 | 482 | 189 | 2k+ | Output is not escaped | ||
| #864 | WpStream – Live Streaming, Video on Demand, Pay Per View | 24 | 1,725 | 742 | 3k+ | Text Domain Mismatch | ||
| #865 | WP Travel Engine – Elementor Widgets | Create Travel Booking Website Using WordPress and Elementor | 24 | 5,907 | 2,136 | 10k+ | Text Domain Mismatch | ||
| #866 | xili-language | 24 | 1,501 | 523 | 600 | Output is not escaped | ||
| #867 | XT Ajax Add To Cart for WooCommerce | 24 | 985 | 1,665 | 1k+ | Non-prefixed global variable | ||
| #868 | XT Variation Swatches for WooCommerce | 24 | 1,033 | 1,809 | 500 | Non-prefixed global variable | ||
| #869 | YITH WooCommerce Gift Cards | 24 | 436 | 1,534 | 10k+ | Non-prefixed global variable | ||
| #870 | YITH WooCommerce Product Add-Ons | 24 | 460 | 2,069 | 20k+ | Non-prefixed global variable | ||
| #871 | YITH WooCommerce Subscription | 24 | 439 | 1,538 | 7k+ | Non-prefixed global variable | ||
| #872 | YITH WooCommerce Waitlist | 24 | 420 | 1,500 | 3k+ | Non-prefixed global variable | ||
| #873 | YITH WooCommerce Wishlist | 24 | 448 | 1,486 | 400k+ | Non-prefixed global variable | ||
| #874 | YITH WooCommerce Product Gallery & Image Zoom | 24 | 418 | 1,490 | 20k+ | Non-prefixed global variable | ||
| #875 | Jetpack CRM – Clients, Leads, Invoices, Billing, Email Marketing, & Automation | 24 | 1,211 | 3,152 | 30k+ | Non-prefixed global variable | ||
| #876 | 3DPrint Lite | 25 | 175 | 1,029 | 700 | Non-prefixed global variable | ||
| #877 | Dynamic Pricing With Discount Rules for WooCommerce | 25 | 165 | 205 | 5k+ | Non-prefixed global variable | ||
| #878 | Adminify – White Label, Admin Menu Editor, Login Customizer | 25 | 546 | 1,379 | 7k+ | Non-prefixed global variable | ||
| #879 | AdRotate Banner Manager | 25 | 1,363 | 846 | 20k+ | Unsafe printing function | ||
| #880 | Advanced Floating Content Lite | 25 | 643 | 1,348 | 7k+ | Non-prefixed global variable | ||
| #881 | Advanced WordPress Reset – Debug, Recover & Reset WP | 25 | 475 | 464 | 20k+ | Output is not escaped | ||
| #882 | AF Companion – Starter Sites, Speed Booster & Growth Suite for Professional Publishing | 25 | 665 | 1,486 | 10k+ | Non-prefixed global variable | ||
| #883 | Affiliates | 25 | 689 | 1,483 | 2k+ | Output is not escaped | ||
| #884 | FiboSearch – Ajax Search for WooCommerce | 25 | 603 | 302 | 100k+ | Output is not escaped | ||
| #885 | AliExpress Dropshipping Plugin for WooCommerce Stores | 25 | 555 | 734 | 4k+ | Text Domain Mismatch | ||
| #886 | All 404 Redirect to Homepage | 25 | 140 | 301 | 200k+ | date date | ||
| #887 | AIO Forms – Craft Complex Forms Easily | 25 | 189 | 418 | 700 | Mixed line endings | ||
| #888 | Booking for Appointments and Events Calendar – Amelia | 25 | 1,487 | 480 | 90k+ | Exception output is not escaped | ||
| #889 | Animated Number Counters | 25 | 463 | 1,932 | 2k+ | Non-prefixed global variable | ||
| #890 | Appointment Booking Calendar | 25 | 327 | 1,055 | 1k+ | Non-prefixed global variable | ||
| #891 | Appointment Hour Booking – Booking Calendar | 25 | 262 | 1,253 | 10k+ | Non-prefixed global variable | ||
| #892 | ATUM WooCommerce Inventory Management and Stock Tracking | 25 | 2,634 | 1,306 | 10k+ | Non Singular String Literal Domain | ||
| #893 | bbp style pack | 25 | 1,419 | 1,791 | 6k+ | Output is not escaped | ||
| #894 | Beaver Builder Page Builder – Drag and Drop Website Builder | 25 | 4,463 | 1,819 | 100k+ | Text Domain Mismatch | ||
| #895 | BlockSpare – Gutenberg Post Grid Blocks for News, Magazine & Blog Websites | 25 | 1,327 | 1,714 | 10k+ | Non-prefixed global variable | ||
| #896 | Total Upkeep – WordPress Backup Plugin plus Restore & Migrate by BoldGrid | 25 | 243 | 854 | 50k+ | Non-prefixed global variable | ||
| #897 | Booking Activities | 25 | 1,036 | 1,469 | 3k+ | Output is not escaped | ||
| #898 | Booking Calendar Contact Form | 25 | 371 | 884 | 500 | Input is not validated | ||
| #899 | Booking Package | 25 | 1,697 | 3,977 | 10k+ | Missing nonce verification | ||
| #900 | Bookit — Booking & Appointment Calendar | 25 | 565 | 1,458 | 4k+ | Non-prefixed global variable |