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
#351Digital License Manager24295670800Non-prefixed hook name
#352Double Opt-In for Contact Form 7 – Secure, GDPR-Compliant Email Verification242334411k+Non-prefixed hook name
#353Easy Form Builder by WhiteStudio — Drag & Drop Form Builder241943811k+Nonce verification recommended
#354Easy Invoice – Invoice Generator, PDF Quotes & Payments241,3662,013500Non-prefixed global variable
#355Easy Modal245642997k+Unsafe printing function
#356E-cab Taxi Booking Manager for Woocommerce243561,4622k+Non-prefixed global variable
#357eCommerce Product Catalog Plugin for WordPress246213,1777k+Non-prefixed function
#358Email Subscribers & Newsletters – Email Marketing, Post Notifications & Newsletter Plugin for WordPress246521,49560k+Non-prefixed hook name
#359EmbedPress – PDF Embedder, 3D PDF FlipBook, Google Reviews, YouTube Videos, Upload & Embed PDF documents247111,588100k+Output is not escaped
#360Conversios: Google Analytics (GA4), Google Ads, Conversion and Analytics Tracking for Multi-Channels241121,49710k+Non-prefixed global variable
#361Gutenberg Essential Blocks – Page Builder for Gutenberg Blocks & Patterns24120684200k+Non-prefixed global variable
#362Event Tickets and Registration243,4094,21790k+Non-prefixed global variable
#363Export WordPress Pages to Static HTML & PDF — Static Site Export245093044k+Text Domain Mismatch
#364Etsy Integration For WooCommerce241,2464,643900Non-prefixed global variable
#365F12 Profiler24282451500Direct Query
#366Fast Velocity Minify2428225640k+Unsafe printing function
#367Fattura2424312333400Output is not escaped
#368Featured Image from URL (FIFU)241,65441870k+Non Singular String Literal Domain
#369FeedWordPress244963199k+Missing Arg Domain
#370FileBird – WordPress Media Library Folders & File Manager24239377200k+wp function not compatible with requires wp
#371FluentCRM – Email Newsletter, Automation, Email Marketing, Email Campaigns, Optins, Leads, and CRM Solution2419375380k+Direct Query
#372Football Pool241,0857331k+Output is not escaped
#373Forminator Forms – Contact Form, Payment Form & Custom Form Builder248261,314600k+Non-prefixed global variable
#374FV Simpler SEO247663082k+Text Domain Mismatch
#375FV Player 8243231,3831k+Non-prefixed function
#376GD Mail Queue24502582700Output is not escaped
#377Cookie Banner for GDPR / CCPA – WPLP Cookie Consent241,2141,9249k+Non-prefixed global variable
#378GEO my WP245542,0893k+Non-prefixed hook name
#379GG Woo Feed for WooCommerce Shopping Feed on Google and Other Channels244695921k+Non-prefixed global variable
#380Connector Wizard (formerly LC Wizard)242494481k+Non-prefixed function
#381Assets manager, dequeue scripts, dequeue styles for WordPress245922552k+Output is not escaped
#382Simple Calendar – Google Calendar Plugin242,05359250k+Missing direct file access protection
#383GS Behance Portfolio – Display Projects, Gallery & Slider248551,617400Non-prefixed global variable
#384Hummingbird Performance – Cache & Page Speed Optimization for Core Web Vitals | Critical CSS | Minify CSS | Defer CSS Javascript | CDN243,41086670k+Text Domain Mismatch
#385Import and export users and customers241,04035770k+Unsafe printing function
#386Infinite Uploads – Offload Media and Video to Cloud Storage24586722800Direct Query
#387Keap Official Opt-in Forms248291,0461k+Non-prefixed global variable
#388Social Slider Feed – Social Media Feed & Gallery Widgets2492970720k+Non-prefixed global variable
#389InstaWP Connect – 1-click WP Staging & Migration2425381140k+Non-prefixed global variable
#390Joli Table Of Contents246531,7557k+Non-prefixed global variable
#391KiviCare – Clinic & Patient Management System (EHR)242238802k+Direct Query
#392Appointment Booking Plugin – LatePoint | Calendar & Scheduling for WordPress241,855953100k+Output is not escaped
#393LearnPress – Backup & Migration Tool243854695k+Output is not escaped
#394LifterLMS – WP LMS for eLearning, Online Courses, & Quizzes244141,17610k+Non-prefixed global variable
#395Event Booking Manager for WooCommerce – Registration, RSVP, Calendar & Tickets249692,1407k+Non-prefixed global variable
#396Mail Mint – Email Marketing, Newsletter, Email Automation & WooCommerce Emails244,6961,4805k+Text Domain Mismatch
#397Mailchimp for WooCommerce24523663200k+Non-prefixed global variable
#398MailerPress – Newsletter, email marketing & AI automation248053,9311k+Direct Query
#399Media Library Folders2488980710k+Text Domain Mismatch
#400Timetable and Event Schedule by MotoPress2445623230k+Output is not escaped