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
#3101Royal MCP – Secure AI Connector for Claude, ChatGPT & Gemini656337k+Interpolated SQL is not prepared
#3102Slider Revolution Search Replace65514900Input is not validated
#3103SQL Buddy – Database Management Made Easy6512165k+SQL query is not prepared
#3104AC Advanced Flamingo Settings66632700Nonce verification recommended
#3105CP Media Player – Audio Player and Video Player66224483k+Text Domain Mismatch
#3106Easy PHP Settings6634481k+Missing Translators Comment
#3107FluentBoards – Project Management, Task Management, Goal Tracking, Kanban Board, and, Team Collaboration6626306k+Missing direct file access protection
#3108Leadpages6666210k+Direct Query
#3109Plugin Compatibility Checker6673189k+Text Domain Mismatch
#3110Product Code for WooCommerce6613541k+Missing direct file access protection
#3111Safe Redirect Manager6696040k+Non-prefixed hook name
#3112Ajax add to cart for WooCommerce66673110k+Text Domain Mismatch
#3113Frenet Shipping Gateway for WooCommerce – Correios, Etiquetas e Rastreio6622314k+Non-prefixed global variable
#3114WP Multisite User Sync/Unsync661531700Missing Arg Domain
#3115WP Redis6611259k+Interpolated SQL is not prepared
#3116Caddy – WooCommerce Side Cart & Free Shipping Bar67381993k+Non-prefixed global variable
#3117Editoria11y Accessibility Checker6769551k+Text Domain Mismatch
#3118Flexible Product Fields (WooCommerce Product Addons) – WooCommerce Product Page Editor67579810k+Non-prefixed global variable
#3119Missed Schedule Post Publisher6711107k+Output is not escaped
#3120Multilingual Forms for Fluent Forms with WPML6752161k+Text Domain Mismatch
#3121Per Page Sidebars671211900Input is not validated
#3122Printful Integration for WooCommerce672187650k+Text Domain Mismatch
#3123Product Specifications for Woocommerce6712801k+Non-prefixed global variable
#3124Recurio – Ultimate Subscription for WooCommerce673111k+Direct Query
#3125wp-Typography67913320k+Missing direct file access protection
#3126Book Previewer for Woocommerce6823401k+Non-prefixed global variable
#3127Booter – Bots & Crawlers Manager68817k+Non-prefixed global variable
#3128Member Swipe for BuddyPress68913500Missing direct file access protection
#3129Collapsing Categories682984k+Missing direct file access protection
#3130Desert Companion6841283720k+Non-prefixed global variable
#3131Export media with selected content (by DKZR)68101440k+Direct Query
#3132Faire for WooCommerce68486800Direct Query
#3133Free Assets Library – Openverse/Pixabay 600+ Million Images6844364k+Text Domain Mismatch
#3134简数采集器685251k+Request data is not unslashed
#3135News Magazine X Core6863305k+Missing Translators Comment
#3136One Stop Shop for WooCommerce68238310k+Input is not sanitized
#3137PagBank for WooCommerce688363k+Input is not sanitized
#3138Hide Title68136900Output is not escaped
#3139Reusable Gutenberg Blocks Widget68249500Output is not escaped
#3140Russian Post and EMS for WooCommerce6816471k+Non-prefixed global variable
#3141Shiptastic Integration for DHL68543610k+Missing Translators Comment
#3142Thank You Page for WooCommerce6862710k+Non-prefixed global variable
#3143WiserReview Product Reviews for WooCommerce6821110900Non-prefixed global variable
#3144Ever Accounting – Accounting & Invoicing Solution for Small Businesses68696611k+Non-prefixed hook name
#3145WP Sanitize Accented Uploads681516800Quoted Simple Placeholder
#3146AdOpt | Easy Multi-Regulations Cookie Banner.6922277k+Missing direct file access protection
#3147Ambrosite Next/Previous Post Link Plus6912245k+Interpolated SQL is not prepared
#3148Auto Update Post Date6911231k+Input is not validated
#3149Bulk menu creator692741k+Text Domain Mismatch
#3150Burst Statistics – Simple WordPress Analytics (Google Analytics Alternative)6933379200k+Direct Query