WordPress.Security.EscapeOutput.HeredocOutputNotEscaped

Heredoc Output Not Escaped

A value reaches browser output without clear escaping for the final HTML context.

critical weight

Why It Shows Up

The scan found output where WordPress Coding Standards could not see `esc_html()`, `esc_attr()`, `esc_url()`, `wp_kses()`, or another context-appropriate escaping function.

Why It Matters

When dynamic data is printed raw, any user-controlled part of that data can become cross-site scripting.

How to Fix

  • Use `esc_html()` for text nodes, `esc_attr()` for attributes, and `esc_url()` for URLs.
  • Use `wp_kses()` when limited HTML is allowed.
  • Escape late, right before output, so the escaping function matches the final context.

Affected Plugins

RankPluginScoreErrorsWarningsInstallsAddedUpdatedTop Issue
#51wpDirAuth32250135500wp function not compatible with requires wp
#52IP2Location Redirection331981227k+Output is not escaped
#53Save as PDF Plugin by PDFCrowd332992541k+Non-prefixed global variable
#54EasyIndex34741351k+Missing nonce verification
#55Ultimate 410 Gone Status Code34136657k+Output is not escaped
#56ACF: Image Hotspots Field352652k+Text Domain Mismatch
#57Core Framework35706210k+Text Domain Mismatch
#58Easy Noindex And Nofollow355518400Output is not escaped
#59AI Popup Builder & Popup Maker by OptiMonk3581654k+Text Domain Mismatch
#60Post Password Token3513238600Text Domain Mismatch
#61bpost shipping369743700Output is not escaped
#62ColorMeShop WordPress Plugin3639237600Exception output is not escaped
#63Ozh' Admin Drop Down Menu36125433k+Output is not escaped
#64Out of Stock Message Manager for WooCommerce36293952k+Text Domain Mismatch
#65Easy Photo Album37360431k+Text Domain Mismatch
#66Get Custom Field Values3740441k+Output is not escaped
#67Monobank WP Payment3778411k+Text Domain Mismatch
#68Ozh' Better Feed384535600Heredoc Output Not Escaped
#69Responsive Mailform ( Plugin Version ) – easy, responsive, contact, mailform38120107500Output is not escaped
#70Slickstream: Engagement and Conversions38100192k+Output is not escaped
#71White Label – WordPress Custom Admin, Custom Login Page, and Custom Dashboard382053110k+Output is not escaped
#72Genesis Dambuster3994673k+Output is not escaped
#73Allow Multiple Accounts40115199k+Non Singular String Literal Domain
#74Dashify: WooCommerce admin dashboard theme4016131900Nonce verification recommended
#75Text Hover4144131k+Output is not escaped
#76Text Replace4155123k+Output is not escaped
#77LINE Auto Post451911500Heredoc Output Not Escaped
#78KCSG Kartra Pages473016500Heredoc Output Not Escaped
#79Navigation menu as Dropdown Widget484912k+Output is not escaped
#80TrustedSite50291420k+Output is not escaped
#81Tiny gtag.js Analytics51390400Output is not escaped
#82Enhanced Category Pages5523252k+Direct Query
#83Chat Button & Custom ChatGPT-Powered Bot by GetButton.io5826820k+Non-prefixed function
#84Product Subtitle For WooCommerce726363k+Non-prefixed namespace
#85Dash Notifier7312620k+Heredoc Output Not Escaped
#86Colored Admin Post List7580500Heredoc Output Not Escaped