WordPress.DB.PreparedSQLPlaceholders.UnnecessaryPrepare

Unnecessary Prepare

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
#51CP Blocks3646381k+wp function not compatible with requires wp
#52Easy Testimonial Slider and Form3714144700Request data is not unslashed
#53Phoenix Media Rename3718010450k+Output is not escaped
#54GoodBarber3838731k+Nonce verification recommended
#55Responsive Starter Templates – Elementor Templates & Starter Sites384832210k+Non-prefixed global variable
#56Simple Expires383239500Non Singular String Literal Domain
#57Social Login4181105k+Input is not sanitized
#58VA Simple Expires432531800Output is not escaped
#59FlexStock – Product Stock Sync with Google Sheets for WooCommerce475255700Direct Query
#60MSN Partner Hub5421251k+Missing direct file access protection
#61Hide Title68136900Output is not escaped
#62Dual Currency Display77124900Direct Query
#63Web3 Crypto Payments by DePay for WooCommerce7861011k+Direct Query
#64PDF Generator for WordPress83101981k+Non-prefixed global variable