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
#51MBE eShip205277401k+Non-prefixed global variable
#52Brevo – Email, SMS, Web Push, Chat, and more.20460646100k+Request data is not unslashed
#53MAS Videos205191,6931k+Non-prefixed global variable
#54Microthemer Lite – Visual Editor to Customize CSS201,0041,69910k+Non-prefixed global variable
#55Nimble Page Builder201,5911,68430k+Missing Arg Domain
#56Shipping for Nova Poshta20598923500Output is not escaped
#57پلاگین پرداخت دلخواه20584446900Text Domain Mismatch
#58Pix por Piggly (para Woocommerce)205471954k+Exception output is not escaped
#59Powered Cache – Caching and Optimization for WordPress – Easily Improve PageSpeed & Web Vitals Score201472313k+Exception output is not escaped
#60Pronamic Pay202661,0782k+Non-prefixed global variable
#61Remove Add to Cart WooCommerce206161,3784k+Non-prefixed global variable
#62Robin Image Optimizer – Unlimited Image Optimization, WebP & AVIF20556543100k+Output is not escaped
#63SpeakOut! Email Petitions208509942k+Missing nonce verification
#64Events Manager – OpenStreetMaps20559444700Output is not escaped
#65Razorpay for WooCommerce20975859100k+Non-prefixed function
#66Premium Packages – Sell Digital Products Securely202,0172,1832k+Non-prefixed global variable
#67School Management System – WPSchoolPress202455,2851k+Non-prefixed global variable
#68Store Locator WordPress212,4941,62810k+Text Domain Mismatch
#69Backup Migration219811,09380k+Non-prefixed global variable
#70Forumax – AI Powered Advanced Community Forum Plugin214,9364,353600Text Domain Mismatch
#71bbPress219293,672100k+Non-prefixed function
#72Kadence Security – Password, Two Factor Authentication, and Brute Force Protection211,060957700k+Missing Translators Comment
#73Pinpoint Booking System – Version 2216343283k+Missing direct file access protection
#74Booking Ultra Pro Appointments Booking Calendar Plugin217612,083400Request data is not unslashed
#75Better Messages – Chat Rooms, Group Chat, Private Messages & AI Chat Bots211,6212,03810k+Direct Query
#76Captcha Them All213003235k+Output is not escaped
#77CartFlows – Funnel Builder & Checkout Plugin for WooCommerce21462656200k+Text Domain Mismatch
#78SMS Extension for Contact Form 7217201,387400Non-prefixed global variable
#79Comet Cache2185724520k+Output is not escaped
#80Cost Calculator Builder2132276620k+Non-prefixed global variable
#81Daily Prayer Time219471,7801k+Non-prefixed global variable
#82DELUCKS SEO213621,171400Missing nonce verification
#83Free Downloads WooCommerce214303594k+Output is not escaped
#84Duplicator – Backups & Migration Plugin – Cloud Backups, Scheduled Backups, & More212,5721,2771m+Output is not escaped
#85Envo Extra2187860020k+Text Domain Mismatch
#86eRoom – Webinar & Meeting Plugin for Zoom, Google Meet, Microsoft Teams211864379k+Non-prefixed global variable
#87EventPrime – Events Calendar, Bookings and Tickets218734,3087k+Non-prefixed global variable
#88Feeds for YouTube (YouTube video, channel, and gallery plugin)21558978100k+Output is not escaped
#89Filter Everything — WordPress & WooCommerce Filters2164393350k+Non-prefixed global variable
#90Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More21522,063300k+Non-prefixed global variable
#91Campaign Monitor for WordPress213864612k+Non-prefixed global variable
#92Front End Users217192,759400Non-prefixed global variable
#93Frontend Dashboard21384945500Non-prefixed function
#94Imagify Image Optimization: Optimize Images | Compress & Convert to WebP/AVIF214288621m+Non-prefixed global variable
#95Leyka212573,4462k+Request data is not unslashed
#96Mapster WP Maps213,4402,8943k+Text Domain Mismatch
#97Mergado Pack212,323588700Output is not escaped
#98Modular DS: Monitor, update, and backup multiple websites211918240k+Exception output is not escaped
#99Mooberry Book Manager211,0403991k+Text Domain Mismatch
#100MotoPress Hotel Booking213,0671,03710k+Text Domain Mismatch