WordPress.DB.DirectDatabaseQuery.DirectQuery

Direct Query

The plugin runs a direct database query instead of using a higher-level WordPress API or cache-aware pattern.

medium weight

Why It Shows Up

Plugin Check found `$wpdb` access that queries the database directly, changes schema, or bypasses normal caching expectations.

Why It Matters

Direct queries can be correct, but they are easier to make unsafe, slower at scale, and harder for WordPress to cache or filter.

How to Fix

  • Use WordPress APIs such as post, term, metadata, option, or user functions when they fit the task.
  • If direct SQL is necessary, prepare dynamic values and add a clear caching strategy for repeated reads.
  • Keep schema changes in activation or upgrade routines and make them idempotent.

Affected Plugins

RankPluginScoreErrorsWarningsInstallsAddedUpdatedTop Issue
#1101aThemes Starter Sites3026219540k+Text Domain Mismatch
#1102AutoWP – AI Content Writer & Rewriter305483701k+Text Domain Mismatch
#1103Private groups305833161k+Unsafe printing function
#1104Buy Me a Coffee – Button and Widget Plugin301391406k+Output is not escaped
#1105Sliding Cart for WooCommerce by FunnelKit – Skip Cart & Reach WooCommerce Checkout Faster3030643430k+Non-prefixed global variable
#1106Contact Form 7 – PayPal & Stripe Add-on303852337k+Unsafe printing function
#1107Custom Field Template3052161830k+Nonce verification recommended
#1108DethemeKit for Elementor3033522830k+Output is not escaped
#1109Easy Affiliate Links301861987k+Missing direct file access protection
#1110Element Invader – Template Kits for Elementor302741303k+Output is not escaped
#1111Event post303551001k+Output is not escaped
#1112PiWeb Export Customers Users & Guest customer to CSV for WooCommerce30173751k+Text Domain Mismatch
#1113Anti-spam, Spam protection, ReCaptcha for all forms and GDPR-compliant302642214k+Non Singular String Literal Text
#1114Kargo Takip, Kargo SMS, İlçe Mahalle Sözleşme by Hezarfen30702762k+Non-prefixed global variable
#1115Import WooCommerce Suite for Products, Orders, Coupons, Reviews, and Customers | WP Ultimate CSV Importer30804344k+Interpolated SQL is not prepared
#1116Invisible reCaptcha for WordPress309018580k+Input is not sanitized
#1117Jetpack Protect30657217100k+Text Domain Mismatch
#1118Mailrelay303181701k+Text Domain Mismatch
#1119Meow Gallery3011118210k+Direct Query
#1120MetForm – Contact Form, Survey, Quiz, & Custom Form Builder for Elementor3063227600k+Non-prefixed global variable
#1121Novelist304751581k+Output is not escaped
#1122Operation Demo Importer – Demo Importer For WPoperation Themes302451041k+Text Domain Mismatch
#1123PayU CommercePro Plugin30952707k+Text Domain Mismatch
#1124Popularis Extra302371417k+Output is not escaped
#1125Popup Builder – Create highly converting, mobile friendly marketing popups.3026722200k+Non-prefixed global variable
#1126Pubjet | پاب‌جت30911721k+Output is not escaped
#1127QA Assistants – Driven by data3048672k+Non-prefixed global variable
#1128Real Cookie Banner: GDPR & ePrivacy Cookie Consent309496100k+Database parameter is not escaped
#1129Responsive Addons for Elementor – Free Elementor Addons, Kits and Elementor Templates30603873k+Non-prefixed global variable
#1130SmartCrawl SEO checker, analyzer & optimizer303471,30720k+Non-prefixed global variable
#1131SMTP for Amazon SES – YaySMTP301971223k+Exception output is not escaped
#1132Subscriptions for WooCommerce3011,19010k+Non-prefixed global variable
#1133Taboola30891471k+Output is not escaped
#1134User Role by BestWebSoft – Add and Customize Roles and Capabilities in WordPress304842803k+Text Domain Mismatch
#1135Waitlist Woocommerce ( Back in stock notifier )302723114k+Output is not escaped
#1136Checkout with Cash App on WooCommerce301223082k+Non-prefixed global variable
#1137Dropify301302522k+Nonce verification recommended
#1138FOX – Currency Switcher Professional for WooCommerce302111,02250k+Non-prefixed global variable
#1139WooCommerce Stripe Payment Gateway30173591700k+Non-prefixed hook name
#1140WooPayments: Integrated WooCommerce Payments30182308900k+Exception output is not escaped
#1141WCPOS – Point of Sale (POS) plugin for WooCommerce30772285k+Nonce verification recommended
#1142WooCommerce Tax (formerly WooCommerce Shipping & Tax)30103198600k+Non-prefixed class
#1143WP 2FA – Two-factor authentication for WordPress30269380100k+Exception output is not escaped
#1144WP Docs302682711k+Output is not escaped
#1145WP Event Aggregator: Import Eventbrite events, Meetup events, social events and any iCal Events into Event Calendar301134191k+Non-prefixed global variable
#1146WP Inventory Manager308562331k+Output is not escaped
#1147Photo Gallery Slideshow & Masonry Tiled Gallery308063521k+Output is not escaped
#1148WPOrLogin – Custom Login, Social Login, Limit Attempts, Hide Login & reCAPTCHA304842222k+Unsafe printing function
#1149WPS Cleaner3043049120k+Output is not escaped
#1150YayPricing – WooCommerce Dynamic Pricing & Discounts301741863k+Non-prefixed global variable