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 |
|---|---|---|---|---|---|---|---|---|
| #6451 | Blocks Kit – Gutenberg Blocks for Freelancers | 93 | 1 | 8 | 500 | Non-prefixed constant | ||
| #6452 | Convert Rank Math FAQ to Accordion | 93 | 2 | 0 | 1k+ | Output is not escaped | ||
| #6453 | Embed STL | 93 | 5 | 1 | 400 | Missing Arg Domain | ||
| #6454 | Image Converter for WebP | 93 | 3 | 1 | 800 | wp function not compatible with requires wp | ||
| #6455 | Kortez Toolset | 93 | 3 | 2 | 1k+ | Missing Translators Comment | ||
| #6456 | Lead Forensics | 93 | 1 | 5 | 5k+ | Non-prefixed hook name | ||
| #6457 | Pdf Embed | 93 | 4 | 4 | 10k+ | Non-prefixed global variable | ||
| #6458 | The Simplest Favicon | 93 | 3 | 0 | 700 | Missing direct file access protection | ||
| #6459 | Alt Text Tools | 94 | 1 | 1 | 800 | Not In Footer | ||
| #6460 | Social Share Block – Social Sharing Buttons for Posts and Pages | 94 | 2 | 2 | 2k+ | Discouraged text-domain loading | ||
| #6461 | CSS Ready Classes for Gravity Forms | 94 | 1 | 1 | 1k+ | Output is not escaped | ||
| #6462 | Dark Mode for WP Dashboard | 94 | 1 | 3 | 2k+ | trademarked term | ||
| #6463 | Dashboard Welcome for Elementor | 94 | 1 | 2 | 20k+ | Non-prefixed class | ||
| #6464 | Floating Chat Buttons – Click to Call or Chat, Email | 94 | 1 | 1 | 1k+ | Output is not escaped | ||
| #6465 | Hello Bar Popup Builder | 94 | 2 | 0 | 3k+ | Non Enqueued Script | ||
| #6466 | Social Media Icon Widget – Social Profile Links with Gutenberg Block | 94 | 1 | 2 | 4k+ | Output is not escaped | ||
| #6467 | Search and Replace for Block Editor | 94 | 1 | 1 | 700 | Discouraged text-domain loading | ||
| #6468 | Sticky Elementor – Sticky Header, Menu Color After Sticky, Logo Swap & Back to Top Button | 94 | 1 | 0 | 400 | Output is not escaped |