WordPress.DB.PreparedSQL.NotPrepared

SQL query is not prepared

A database query includes dynamic data without using `$wpdb->prepare()` or an equivalent safe pattern.

critical weight

Why It Shows Up

The scan found a SQL string passed to `$wpdb` where variables appear to be interpolated or concatenated directly.

Why It Matters

Unprepared SQL can allow SQL injection when user-controlled values reach the query.

How to Fix

  • Move dynamic values into placeholders such as `%s`, `%d`, `%f`, or `%i` where supported.
  • Pass the values as separate arguments to `$wpdb->prepare()`.
  • For table names, column names, and sort directions, use strict allowlists instead of raw user input.

Affected Plugins

RankPluginScoreErrorsWarningsInstallsAddedUpdatedTop Issue
#851Maven Algolia28148896k+Non Singular String Literal Domain
#852Media Hygiene: Remove or Delete Unused Images and More!286543095k+Non Singular String Literal Domain
#853My auctions allegro28483235500Non Singular String Literal Domain
#854My Sticky Bar – Floating Notification Bar & Sticky Header (formerly myStickymenu)28164441100k+Non-prefixed global variable
#855Store Hours for WooCommerce28525602k+Output is not escaped
#856Order Tracking – WordPress Status Tracking Plugin286197733k+Unsafe printing function
#857ووکامرس فارسی2815721590k+Output is not escaped
#858افزونه حمل و نقل ووکامرس | پست پیشتاز، تیپاکس و پیک موتوری2813119020k+Missing nonce verification
#859Pixel Gallery Addons for Elementor – Easy Grid, Creative Gallery, Drag and Drop Grid, Custom Grid Layout, Portfolio Gallery281462595k+Post Not In exclude
#860Pixelgrade Assistant281,3481602k+Text Domain Mismatch
#861Podcast Importer SecondLine283561694k+Text Domain Mismatch
#862Product Sync for WooCommerce28158375400Direct Query
#863Query Wrangler28628229700Output is not escaped
#864Rating by BestWebSoft28509218400Text Domain Mismatch
#865ReDi Restaurant Reservation – Instant Restaurant Booking & Table Reservation System281,013239800Unsafe printing function
#866Responsive Lightbox & Gallery28139513100k+Non-prefixed hook name
#867Secure Downloads28616406600Output is not escaped
#868Transliterator – Multilingual and Multi-script Text Conversion283053223k+Output is not escaped
#869Slider Pro285835274k+Unsafe printing function
#870Tab – Accordion, FAQ281045421k+Non-prefixed global variable
#871Terms descriptions282224231k+Non-prefixed function
#872Themesflat Addons For Elementor2871422740k+Output is not escaped
#873Jetpack VaultPress287136210k+Missing nonce verification
#874VG WORT METIS28150317900Nonce verification recommended
#875WC Fields Factory281943697k+Nonce verification recommended
#876Product Gallery Slider, Additional Variation Images for WooCommerce2855231620k+Output is not escaped
#877WP ADA Compliance Check Basic287851773k+Text Domain Mismatch
#878WP GoToWebinar28207207700Non-prefixed function
#879WhyDonate – FREE Donate button – Crowdfunding – Fundraising28216328800Non-prefixed global variable
#880WPS Bidouille2847221510k+Output is not escaped
#881WP Synchro – The Ultimate WordPress Migration Tool282432442k+Missing Translators Comment
#882WxSync-标准云微信公众号文章免费采集-任意公众号自动采集付费购买2857138500Request data is not unslashed
#883Accordion Slider293914472k+Unsafe printing function
#884Advanced coupon for WooCommerce29472242900Text Domain Mismatch
#885AL Pack29138162k+Non-prefixed global variable
#886AppPresser – Mobile App Framework292622141k+Text Domain Mismatch
#887Attribute Stock for WooCommerce – Shared Stock & Variable Quantities (Lite Version)294813132k+Text Domain Mismatch
#888Better Google Analytics293768692k+Non-prefixed global variable
#889Bitcoin Payments – Blockonomics292082272k+Output is not escaped
#890Plugin BlueX for WooCommerce294312162k+Text Domain Mismatch
#891Integration for Salesforce and Contact Form 7, WPForms, Elementor, Formidable, Ninja Forms292363692k+Non-prefixed global variable
#892Chained Quiz291,1327211k+Text Domain Mismatch
#893CloudSecure WP Security2974350100k+Request data is not unslashed
#894Countdown, Coming Soon, Maintenance – Countdown & Clock291,73514310k+Non Singular String Literal Domain
#895Custom Field Template2956853030k+wp function not compatible with requires wp
#896Display Tweets29135135900Non-prefixed global variable
#897Document Gallery29183988k+Output is not escaped
#898Interactive Image Map Plugin – Draw Attention2962022720k+Output is not escaped
#899ECPay Ecommerce for WooCommerce292483702k+Missing nonce verification
#900Everest Toolkit291451411k+Missing Translators Comment