WordPress.DB.PreparedSQL.InterpolatedNotPrepared

Interpolated SQL is not prepared

Variables are interpolated into a SQL string before the query is prepared.

critical weight

Why It Shows Up

The scan found dynamic values placed directly inside SQL, often through string interpolation, before `$wpdb->prepare()` can safely bind them.

Why It Matters

Preparing a query after unsafe interpolation does not reliably protect the dynamic value.

How to Fix

  • Replace interpolated variables with placeholders.
  • Pass each dynamic value as a separate `$wpdb->prepare()` argument.
  • Use allowlists for SQL identifiers and directions that cannot be represented as normal values.

Affected Plugins

RankPluginScoreErrorsWarningsInstallsAddedUpdatedTop Issue
#851Active Products Tables for WooCommerce. Use constructor to create tables313644241k+Output is not escaped
#852Push notification for Mobile and Web app318783400Non Singular String Literal Domain
#853Raffle Play Woocommerce31151199800Output is not escaped
#854Rank Math SEO – AI SEO Tools to Dominate SEO Rankings31453734m+Non-prefixed global variable
#855Simple calendar for Elementor31125270500Direct Query
#856Slider Carousel – Image Slider312241,2333k+Request data is not unslashed
#857Staatic – Static Site Generator for WordPress314201952k+SQL query is not prepared
#858WP Testimonials3118345510k+Non-prefixed global variable
#859Blacklist Manager – WooCommerce Anti-Fraud, Blacklist & Checkout Verification312888422k+Missing nonce verification
#860Project Manager – AI Powered Project Management, Task Management, Kanban Board & Time Tracker31639356k+Interpolated SQL is not prepared
#861Return Refund and Exchange For WooCommerce31247134k+Non-prefixed global variable
#862Tooltips for WordPress313122525k+Output is not escaped
#863Worldline Global Online Pay for WooCommerce3116086500Missing direct file access protection
#864WPGatsby31125553k+Text Domain Mismatch
#865WP Simple Booking Calendar3133738020k+Output is not escaped
#866WP Visitor Statistics (Real Time Traffic)3135369120k+Nonce verification recommended
#867WP ULike – Like & Dislike Buttons for Engagement and Feedback3126935860k+Output is not escaped
#868WP125311781843k+Unsafe printing function
#869One to one user Chat by WPGuppy3174187700Non-prefixed global variable
#870ActiveDEMAND321571611k+Output is not escaped
#871annasta Filters for WooCommerce321,0734412k+Text Domain Mismatch
#872Author Avatars List/Block32851354k+Non-prefixed hook name
#873Auto YouTube Importer323381731k+Text Domain Mismatch
#874Better Chat Support for Messenger32731031k+Interpolated SQL is not prepared
#875Blog2Social: Social Media Auto Post & Scheduler32795750k+Direct Query
#876BuddyPress for LearnDash321902841k+Output is not escaped
#877Quantity Discounts, Breaks & Product Bundles for Woocommerce By Bundler32147319400Direct Query
#878Code Manager32217261500Nonce verification recommended
#879Ultimate WooCommerce Filters32322207600Unsafe printing function
#880Fable Extra32792824k+Non-prefixed global variable
#881FA Lite – WP responsive slider plugin32726140500Unsafe printing function
#882Freesoul Deactivate Plugins – Disable plugins on individual WordPress pages32537768k+Nonce verification recommended
#883WP Gravity Forms HubSpot32771160600Text Domain Mismatch
#884CRM Perks Integration for Gravity Forms and Salesforce328071781k+Text Domain Mismatch
#885WP Gravity Forms Zoho CRM and Bigin32750174400Text Domain Mismatch
#886Insights from Google PageSpeed3241447520k+Text Domain Mismatch
#887Gwolle Guestbook3226952720k+Output is not escaped
#888HTML5 jQuery Audio Player322511531k+Unsafe printing function
#889MapPress Maps for WordPress3269513330k+Missing Arg Domain
#890Members – Membership & User Role Editor Plugin32233259300k+Output is not escaped
#891MetaSlider Gallery – Image Gallery, Lightbox Galleries, Modal Windows321596210k+Output is not escaped
#892DEPRECATED – Shipmondo – A complete shipping solution for WooCommerce321661195k+Output is not escaped
#893PilotPress32150285900Output is not escaped
#894TS Poll – Survey, Versus Poll, Image Poll, Video Poll325701714k+Text Domain Mismatch
#895Volunteer Sign Up Sheets329674011k+Output is not escaped
#896Quick Featured Images3243632350k+Non-prefixed global variable
#897Responsive Filterable Portfolio Gallery – Media Grid & Video Portfolio324361631k+Output is not escaped
#898Restrict Usernames Emails Characters323273671k+Output is not escaped
#899WowRevenue – Product Bundles & Bulk Discounts32132,0271k+Non-prefixed global variable
#900Revolut Gateway for WooCommerce32851576k+Input is not sanitized