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 |
|---|---|---|---|---|---|---|---|---|
| #451 | AI Popup | 23 | 1,224 | 636 | 400 | Text Domain Mismatch | ||
| #452 | Post to Google My Business (Google Business Profile) | 23 | 845 | 1,452 | 10k+ | Non-prefixed global variable | ||
| #453 | Postie | 23 | 408 | 259 | 10k+ | Output is not escaped | ||
| #454 | PowerPress Podcasting plugin by Blubrry | 23 | 4,807 | 2,394 | 20k+ | Output is not escaped | ||
| #455 | Pricing Table by Supsystic | 23 | 1,299 | 447 | 10k+ | Non Singular String Literal Domain | ||
| #456 | Primary Addon for Elementor | 23 | 765 | 1,306 | 7k+ | Non-prefixed global variable | ||
| #457 | Print Anywhere & Create PDFs of Order Receipts, Invoices, Labels & More. | 23 | 1,485 | 444 | 1k+ | Text Domain Mismatch | ||
| #458 | Print My Blog – Print, PDF, & eBook Converter WordPress Plugin | 23 | 1,077 | 1,660 | 8k+ | Non-prefixed global variable | ||
| #459 | Product Watermark for WooCommerce | 23 | 696 | 457 | 2k+ | Output is not escaped | ||
| #460 | Protect Admin | 23 | 606 | 1,300 | 2k+ | Non-prefixed global variable | ||
| #461 | Radio Station by netmix® – Manage and play your Show Schedule in WordPress! | 23 | 934 | 3,619 | 1k+ | Non-prefixed global variable | ||
| #462 | Read More Without Refresh | 23 | 955 | 1,347 | 20k+ | Non-prefixed global variable | ||
| #463 | Read More WP | 23 | 570 | 1,311 | 1k+ | Non-prefixed global variable | ||
| #464 | Real Estate Manager – Property Listing and Agent Management | 23 | 606 | 2,301 | 600 | Non-prefixed global variable | ||
| #465 | Real 3D Flipbook – 3D FlipBook, PDF FlipBook, PDF Viewer, PDF Embedder | 23 | 908 | 1,377 | 10k+ | Non-prefixed global variable | ||
| #466 | Redirection | 23 | 523 | 457 | 100k+ | Non-prefixed global variable | ||
| #467 | Request a Quote – Quote Forms for Any WordPress Site | 23 | 240 | 1,099 | 1k+ | Non-prefixed hook name | ||
| #468 | Restaurant & Cafe Addon for Elementor | 23 | 889 | 1,326 | 1k+ | Non-prefixed global variable | ||
| #469 | Revive.so – Bulk Rewrite and Republish Blog Posts | 23 | 332 | 228 | 700 | Text Domain Mismatch | ||
| #470 | Robo Gallery – Photo & Image Slider | 23 | 1,291 | 530 | 40k+ | Output is not escaped | ||
| #471 | Manago AI & Leadoo AI | 23 | 644 | 429 | 1k+ | Unsafe printing function | ||
| #472 | Schema | 23 | 1,173 | 245 | 40k+ | Text Domain Mismatch | ||
| #473 | SecuPress with Simple SSL – Simple and Performant Security | 23 | 1,697 | 1,601 | 40k+ | Non-prefixed global variable | ||
| #474 | Secure Custom Fields | 23 | 240 | 1,370 | 80k+ | Non-prefixed function | ||
| #475 | SEO Redirection Plugin – 301 Redirect Manager | 23 | 272 | 727 | 10k+ | Non-prefixed global variable | ||
| #476 | Seraphinite Post .DOCX Source | 23 | 1,156 | 110 | 900 | Output is not escaped | ||
| #477 | Seriously Simple Podcasting | 23 | 548 | 627 | 30k+ | Non-prefixed hook name | ||
| #478 | Shipment Tracker for Woocommerce | 23 | 477 | 576 | 2k+ | Missing Arg Domain | ||
| #479 | Local Google Analytics for WordPress – caches external requests | 23 | 551 | 199 | 3k+ | Output is not escaped | ||
| #480 | Tag, Category, and Taxonomy Manager – Autotagger Automatically Add Terms | 23 | 405 | 869 | 50k+ | Nonce verification recommended | ||
| #481 | Simple URLs – Link Cloaking, Product Displays, and Affiliate Link Management | 23 | 295 | 298 | 4k+ | Non-prefixed global variable | ||
| #482 | Image Optimizer, Resizer and CDN – Sirv | 23 | 616 | 1,004 | 1k+ | Output is not escaped | ||
| #483 | Site Reviews | 23 | 1,626 | 604 | 60k+ | Output is not escaped | ||
| #484 | Slider Hero with Video Background, Animation | 23 | 1,565 | 1,253 | 3k+ | Text Domain Mismatch | ||
| #485 | Slider by 10Web – Responsive Image Slider | 23 | 5,814 | 976 | 10k+ | Output is not escaped | ||
| #486 | Smart Marketing SMS and Newsletters Forms | 23 | 2,232 | 1,015 | 1k+ | Text Domain Mismatch | ||
| #487 | Smart Slider 3 | 23 | 261 | 268 | 800k+ | Non-prefixed global variable | ||
| #488 | SportsPress – Sports Club & League Manager | 23 | 459 | 2,246 | 10k+ | Non-prefixed global variable | ||
| #489 | StreamWeasels Twitch Integration | 23 | 555 | 1,465 | 1k+ | Non-prefixed global variable | ||
| #490 | Strong Testimonials | 23 | 194 | 393 | 90k+ | Nonce verification recommended | ||
| #491 | Super Video player – Fully Customizable Video Player with Playlist | 23 | 1,135 | 1,634 | 2k+ | Non-prefixed global variable | ||
| #492 | teachPress | 23 | 744 | 1,587 | 2k+ | SQL query is not prepared | ||
| #493 | Legal Terms and Conditions Popup for User Login and WooCommerce Checkout | 23 | 524 | 237 | 700 | Output is not escaped | ||
| #494 | The Events Calendar | 23 | 3,509 | 3,850 | 700k+ | Text Domain Mismatch | ||
| #495 | The Pack Elementor addon | 23 | 556 | 1,180 | 2k+ | Non-prefixed global variable | ||
| #496 | The Post Grid – Shortcode, Gutenberg Blocks and Elementor Addon for Post Grid | 23 | 105 | 1,013 | 100k+ | Non-prefixed global variable | ||
| #497 | ThemeHunk Customizer | 23 | 3,968 | 582 | 6k+ | Text Domain Mismatch | ||
| #498 | Travelpayouts | 23 | 769 | 110 | 6k+ | Output is not escaped | ||
| #499 | Trinity Audio – Text to Speech AI audio player to convert content into audio | 23 | 119 | 227 | 2k+ | Non-prefixed global variable | ||
| #500 | Directory Listings WordPress plugin – uListing | 23 | 947 | 1,573 | 1k+ | Non-prefixed global variable |