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 |
|---|---|---|---|---|---|---|---|---|
| #1251 | Packlink PRO for WooCommerce | 27 | 132 | 160 | 20k+ | Non-prefixed global variable | ||
| #1252 | picu – Online Photo Proofing Gallery | 27 | 613 | 325 | 2k+ | Output is not escaped | ||
| #1253 | PowerPack Lite for Beaver Builder | 27 | 2,842 | 375 | 7k+ | Text Domain Mismatch | ||
| #1254 | Quick Paypal Payments | 27 | 101 | 303 | 1k+ | Non-prefixed function | ||
| #1255 | Rate My Post – Star Rating Plugin by FeedbackWP | 27 | 222 | 360 | 20k+ | Output is not escaped | ||
| #1256 | Restrict for Elementor | 27 | 530 | 1,223 | 900 | Non-prefixed global variable | ||
| #1257 | Robokassa payment gateway for Woocommerce | 27 | 95 | 211 | 3k+ | Non-prefixed global variable | ||
| #1258 | RS Elements Elementor Addon | 27 | 2,026 | 321 | 500 | Text Domain Mismatch | ||
| #1259 | Shipit | 27 | 371 | 209 | 400 | Text Domain Mismatch | ||
| #1260 | Side Cart Woocommerce | Woocommerce Cart | 27 | 490 | 439 | 80k+ | Output is not escaped | ||
| #1261 | Sign-up Sheets | 27 | 325 | 363 | 1k+ | Output is not escaped | ||
| #1262 | Simple Download Monitor | 27 | 218 | 273 | 20k+ | Output is not escaped | ||
| #1263 | Simple Event Planner | 27 | 149 | 346 | 1k+ | Non-prefixed global variable | ||
| #1264 | Hubbub Lite – Fast, free social sharing and follow buttons | 27 | 337 | 172 | 30k+ | Text Domain Mismatch | ||
| #1265 | Social Web Suite – Social Media Auto Post, Social Media Auto Publish | 27 | 74 | 164 | 500 | Non-prefixed global variable | ||
| #1266 | Speed Booster Pack ⚡ PageSpeed Optimization Suite | 27 | 108 | 187 | 9k+ | Missing Translators Comment | ||
| #1267 | Stream Video Player | 27 | 220 | 135 | 600 | Output is not escaped | ||
| #1268 | SV Tracking Manager | 27 | 968 | 129 | 1k+ | Output is not escaped | ||
| #1269 | Terms & Conditions Per Product | 27 | 533 | 1,336 | 800 | Non-prefixed global variable | ||
| #1270 | Theme One Click Demo Importer | 27 | 210 | 157 | 500 | Text Domain Mismatch | ||
| #1271 | Orbit Fox: Duplicate Page, Menu Icons, SVG Support, Cookie Notice, Custom Fonts & More | 27 | 165 | 430 | 100k+ | Non-prefixed global variable | ||
| #1272 | Food Menu – Restaurant Menu & Online Ordering for WooCommerce | 27 | 25 | 1,320 | 3k+ | Non-prefixed global variable | ||
| #1273 | Transbank Webpay | 27 | 198 | 211 | 10k+ | Non-prefixed global variable | ||
| #1274 | Tutor LMS – Migration Tool | 27 | 139 | 341 | 1k+ | Direct Query | ||
| #1275 | Ultimate Watermark – Image Watermark, Image Protection & Bulk Watermarking | 27 | 164 | 303 | 1k+ | Nonce verification recommended | ||
| #1276 | Verge3D Publishing and E-Commerce | 27 | 245 | 298 | 400 | Nonce verification recommended | ||
| #1277 | Video Gallery for WooCommerce – Add Product Video & Featured Video | 27 | 116 | 476 | 3k+ | Non-prefixed global variable | ||
| #1278 | VOD Infomaniak | 27 | 797 | 385 | 20k+ | Output is not escaped | ||
| #1279 | Watu Quiz | 27 | 1,089 | 1,014 | 3k+ | Output is not escaped | ||
| #1280 | WC Booster | 27 | 191 | 282 | 800 | Non-prefixed global variable | ||
| #1281 | Whols – Wholesale Prices and B2B Store Solution for WooCommerce | 27 | 228 | 235 | 2k+ | Output is not escaped | ||
| #1282 | Wiremo – Product Reviews for WooCommerce | 27 | 445 | 212 | 700 | Output is not escaped | ||
| #1283 | Tabbed Category Product Listing for Woocommerce | 27 | 423 | 111 | 1k+ | Text Domain Mismatch | ||
| #1284 | Mihdan: Ajax Edit Comments | 27 | 1,300 | 523 | 400 | Text Domain Mismatch | ||
| #1285 | Content Pilot – Autoblogging & Affiliate Marketing Suite | 27 | 299 | 269 | 900 | Output is not escaped | ||
| #1286 | WP-DBManager | 27 | 386 | 304 | 60k+ | Non-prefixed global variable | ||
| #1287 | Email Marketing Plugin – WP Email Capture | 27 | 383 | 262 | 1k+ | Output is not escaped | ||
| #1288 | WP Events Manager | 27 | 294 | 415 | 30k+ | Output is not escaped | ||
| #1289 | WP Hide & Security Enhancer | 27 | 124 | 375 | 50k+ | Input is not sanitized | ||
| #1290 | WP Job Manager | 27 | 93 | 582 | 80k+ | Non-prefixed hook name | ||
| #1291 | wp-mpdf | 27 | 123 | 382 | 1k+ | Non-prefixed global variable | ||
| #1292 | WP Activity Log | 27 | 96 | 230 | 300k+ | Nonce verification recommended | ||
| #1293 | WP Chat App | 27 | 120 | 274 | 100k+ | Alternative PHP tag found | ||
| #1294 | Worthy – VG WORT Integration für WordPress | 27 | 1,343 | 773 | 1k+ | Output is not escaped | ||
| #1295 | WPBase Cache | 27 | 189 | 113 | 2k+ | Text Domain Mismatch | ||
| #1296 | YARPP – Yet Another Related Posts Plugin | 27 | 191 | 331 | 100k+ | Non-prefixed global variable | ||
| #1297 | Zibal Payment Gateway for Gravity Forms | 27 | 828 | 248 | 400 | Text Domain Mismatch | ||
| #1298 | Ultimate Addons for SiteOrigin | 28 | 525 | 189 | 7k+ | Text Domain Mismatch | ||
| #1299 | Vertex Addons for Elementor | 28 | 232 | 413 | 400 | Output is not escaped | ||
| #1300 | AForms — Form Builder for Price Calculator & Cost Estimation | 28 | 564 | 95 | 3k+ | Text Domain Mismatch |