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

RankPluginScoreErrorsWarningsInstallsUpdatedTop Issue
#1LearnPress – WordPress LMS Plugin for Create and Sell Online Courses222,3613,38470k+Non Prefixed Variable Found
#2PublishPress Revisions: Duplicate Posts, Submit, Approve and Schedule Content Changes2441457310k+Missing Translators Comment
#3Appointment Hour Booking – Booking Calendar252611,25410k+Non Prefixed Variable Found
#4Product Labels For Woocommerce (Sale Badges)36904810k+Output Not Escaped