WordPress.DB.PreparedSQLPlaceholders.UnescapedLiteral

Unescaped Literal

A SQL query is built in a way that Plugin Check cannot verify as safely prepared.

critical weight

Why It Shows Up

The scan found missing, incorrect, quoted, unsupported, or mismatched SQL placeholders around `$wpdb->prepare()` usage.

Why It Matters

Broken preparation can leave dynamic SQL values unsafe or make queries behave differently than intended.

How to Fix

  • Keep placeholders in the SQL string and pass dynamic values as separate arguments.
  • Use the placeholder that matches the value type.
  • Do not quote placeholders manually, and use allowlists for identifiers or SQL fragments.

Affected Plugins

RankPluginScoreErrorsWarningsInstallsAddedUpdatedTop Issue
#1SendPress Newsletters192,2931,4221k+Output is not escaped
#2LearnPress – WordPress LMS Plugin for Create and Sell Online Courses222,4333,59470k+Non-prefixed global variable
#3Fix Alt Text245443461k+Non Singular String Literal Domain
#4PublishPress Revisions: Duplicate Posts, Submit, Approve and Schedule Content Changes2442260110k+Missing Translators Comment
#5EZ SQL Reports Shortcode Widget and DB Backup27165158500Output is not escaped
#6Product Labels For Woocommerce (Sale Badges)36904810k+Output is not escaped