WordPress.Security.EscapeOutput.UnsafePrintingFunction

Unsafe printing function

A printing function is outputting dynamic content without proving that the content is escaped.

critical weight

Why It Shows Up

The scan saw output through functions such as `printf`, `print`, or similar constructs where the printed values were not escaped for their context.

Why It Matters

Formatted output is still browser output. If any argument contains attacker-controlled content, the page can become vulnerable to cross-site scripting.

How to Fix

  • Escape every dynamic argument with `esc_html()`, `esc_attr()`, `esc_url()`, or `wp_kses()` as appropriate.
  • Keep translation wrappers and escaping wrappers in the correct order, such as `esc_html__( 'Text', 'text-domain' )` for translated text.
  • Avoid marking values as safe unless they are hard-coded or already strictly constrained.

Affected Plugins

RankPluginScoreErrorsWarningsInstallsAddedUpdatedTop Issue
#2151Backend Designer4150111k+Output is not escaped
#2152Bop Search Box Item Type For Nav Menus4152141k+Output is not escaped
#2153BuddyPress Xprofile Custom Field Types41391894k+Missing nonce verification
#2154BuddyPress Edit Activity412826800Output is not escaped
#2155Bulk Delete Comments4115615k+Direct Query
#2156Bulk Images to Posts415551k+Unsafe printing function
#2157Buzzsprout Podcasting4175135k+Non Singular String Literal Domain
#2158Easy Social Like Box – Popup – Sidebar Widget41217917k+Text Domain Mismatch
#2159Category Wise Search41589500Output is not escaped
#2160Conditional Fields for Contact Form 74110653100k+Output is not escaped
#2161Submission DOM tracking for Contact Form 7411448400Text Domain Mismatch
#2162clickskeks.at Cookiebanner412118500Unsafe printing function
#2163CloudGuard4141131k+Output is not escaped
#2164CoinPayments.net Payment Gateway for WooCommerce4151321k+Text Domain Mismatch
#2165Collapsed Archives415441k+Output is not escaped
#2166Colorful Categories4120202k+Output is not escaped
#2167Comments Like Dislike41172205k+Non Singular String Literal Domain
#2168Contact Form 7 Widget417042k+Output is not escaped
#2169Content Widget41729400Output is not escaped
#2170Cookie Notice & Consent41101291k+Output is not escaped
#2171CurrencyConverter416296700Non Singular String Literal Domain
#2172Custom Meta412329700Output is not escaped
#2173Custom Post Type Cleanup4170121k+Output is not escaped
#2174Custom Recent Posts Widget416341k+Output is not escaped
#2175Dashboard Notepad41293410k+Missing nonce verification
#2176Database for CF74137322k+Text Domain Mismatch
#2177Developer Loggers for Simple History414628400Text Domain Mismatch
#2178DevVN Local Store4184281k+Unsafe printing function
#2179Disable Everything41901630k+Output is not escaped
#2180Disqus Conditional Load4138143k+Output is not escaped
#2181DigitalOcean Spaces Sync41808500Text Domain Mismatch
#2182Dropdown multisite selector418213900Unsafe printing function
#2183GDPR tools: Cookie notice + privacy416786k+Unsafe printing function
#2184DSGVO Youtube4148291k+Unsafe printing function
#2185Duplicate Post Page Menu & Custom Post Type41351110k+Text Domain Mismatch
#2186Duplicate Page and Post41262180k+Unsafe printing function
#2187Easy Random Quotes414214500Output is not escaped
#2188Edit Lock414722500Non Singular String Literal Domain
#2189Email Address Encoder411098100k+wp function not compatible with requires wp
#2190Embed Chessboard411039600Text Domain Mismatch
#2191Essential Form – The lightest plugin for contact forms, ultra lightweight and no spam412153500Missing nonce verification
#2192Extra User Details4184151k+Non Singular String Literal Domain
#2193Heroic Favicon Generator4110476k+Output is not escaped
#2194Feature A Page Widget416653k+Output is not escaped
#2195Featured Audio41549400Output is not escaped
#2196Flexible Posts Widget41136337k+Output is not escaped
#2197Gallery Lightbox41471610k+Output is not escaped
#2198Genesis Featured Page Advanced4120947k+Output is not escaped
#2199Genesis Footer Builder4112431k+Output is not escaped
#2200(Simply) Guest Author Name4135362k+Output is not escaped