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
#2701Product Expiry for WooCommerce4131852k+Request data is not unslashed
#2702Simple Product Options for WooCommerce4162413k+Output is not escaped
#2703Simple Google Photos Grid414821k+Output is not escaped
#2704Simple Lightbox412148100k+Nonce verification recommended
#2705Simple Page Access Restriction4166516k+Unsafe printing function
#2706Simple Revision Control4134431k+Dynamic hook name
#2707Smoove connector for Elementor forms412260600Nonce verification recommended
#2708SQL Chart Builder413852600Text Domain Mismatch
#2709Squeeze – Image Optimization & Compression, WEBP Conversion4120702k+Nonce verification recommended
#2710StifLi Flex MCP – MCP Server with undo for ChatGPT, Claude & Gemini4121111k+Interpolated SQL is not prepared
#2711Taxonomy Converter415424600Output is not escaped
#2712Feedback Company416336800Output is not escaped
#2713Threat Scan Plugin412917400Output is not escaped
#2714Visibility Logic for Elementor41274330k+Output is not escaped
#2715Abandoned Cart Recovery for WooCommerce41202024k+Request data is not unslashed
#2716M-Pesa(Kenya) Checkout for Woocommerce4146381k+Text Domain Mismatch
#2717WPC Product Bundles for WooCommerce41219330k+Missing nonce verification
#2718Country Based Restrictions for WooCommerce4127675k+Request data is not unslashed
#2719WP Lorem ipsum413729500Unsafe printing function
#2720WP Media folders4119743k+Direct Query
#2721WP Test Email41322820k+Unsafe printing function
#2722WPS Hide Login4134722m+Nonce verification recommended
#2723Agoda Affiliate Partners Text Link Generator42440500Interpolated SQL is not prepared
#2724Post Grid Master — Post Grids & AJAX Filters42441151k+Non-prefixed global variable
#2725BP Auto Group Join425555700Output is not escaped
#2726Comment Reply Email422123500Unsafe printing function
#2727Companion Revision Manager – Revision Control4218284k+Unsafe printing function
#2728Custom Admin Page by BestWebSoft – Configurable WordPress Dashboard Pages Plugin42472181400Text Domain Mismatch
#2729Custom Fields for Gutenberg4224241k+Output is not escaped
#2730Custom Taxonomy Order42205650k+Output is not escaped
#2731Delete Expired Transients4249655k+Direct Query
#2732Enable Classic Editor & Widgets4210663k+Non Singular String Literal Domain
#2733Etsy Shop4258213k+Unsafe printing function
#2734Exclude Pages42311430k+Non Singular String Literal Domain
#2735FormCraft – Form Builder421861562k+Text Domain Mismatch
#2736Gelato Integration for WooCommerce4236325k+Output is not escaped
#2737Geo Blocker – Control Site Access by Region and IP421064800Direct Query
#2738Hide Cart Functions4212503k+Nonce verification recommended
#2739Image Uploader for Welcart4227243k+Output is not escaped
#2740WP All Import – Import SEO Settings for Rank Math SEO4218447k+Nonce verification recommended
#2741LeadSnap4214841k+Input is not validated
#2742Manage User Columns4215271k+Request data is not unslashed
#2743Mass Delete Unused Tags42219900Output is not escaped
#2744Nav Menu Collapse4217393k+Missing nonce verification
#2745PDF Thumbnail Generator4226162k+Output is not escaped
#2746Post Types Order424543600k+wp function not compatible with requires wp
#2747WP Email Log – PostBox42281700Nonce verification recommended
#2748Product Price History for WooCommerce42101800Nonce verification recommended
#2749Rename wp-admin login4223388k+Output is not escaped
#2750Republish Old Posts4283242k+Output is not escaped