WordPress.DB.DirectDatabaseQuery.NoCaching

No Caching

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
#2051Bulk Page Creator6291710k+Request data is not unslashed
#2052Cloudways WordPress Migrator62152520k+Output is not escaped
#2053Carousel Slider627130k+Non-prefixed global variable
#2054Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages628110040k+Missing direct file access protection
#2055DreamHost Automated Migration62152320k+Output is not escaped
#2056exovia GDPR Google Maps624064k+Output is not escaped
#2057Migrate To Liquid Web & Nexcess6215232k+Output is not escaped
#2058Pressable Automated Migration6215233k+Output is not escaped
#2059Proofreading6211745k+Direct Query
#2060Woo Product Remover6223141k+SQL query is not prepared
#2061XPoster – Share to Bluesky and Mastodon62263610k+Missing nonce verification
#2062Migrate to WordPress.com6215282k+Output is not escaped
#2063Automatic Featured Images from Videos6314137k+Missing direct file access protection
#2064Classic Editor and Classic Widgets63184120k+Nonce verification recommended
#2065Missed Scheduled Posts Publisher by WPBeginner63161730k+Text Domain Mismatch
#2066Contact Form to Chat Apps | Click to Chat to Order – FormyChat63181363k+Direct Query
#2067Collapsing Archives643693k+date date
#2068ELEX WooCommerce Product Price Custom Text (Before & After Text) and Discount644441372k+Missing Arg Domain
#2069Icon Element – Icon Pack for Elementor Page Builder (6718 icons)64301640k+wp function not compatible with requires wp
#2070Inactive Logout64307110k+Non-prefixed global variable
#2071Inline Related Posts641739100k+Nonce verification recommended
#2072Layouts for Divi643271k+Non-prefixed global variable
#2073Royal MCP – Secure AI Connector for Claude, ChatGPT & Gemini646325k+Interpolated SQL is not prepared
#2074JTL-Connector for WooCommerce6471661k+Direct Query
#2075WP REST API Controller648228k+Nonce verification recommended
#2076WP REST Cache641111310k+Direct Query
#2077WP Term Order642266k+Nonce verification recommended
#2078Custom Share Buttons with Floating Sidebar65164204k+Text Domain Mismatch
#2079Cyr to Lat Reloaded – Transliteration of Links and File Names65133630k+Direct Query
#2080Integration for Elementor forms – Sendinblue6594567k+Text Domain Mismatch
#2081Notibar – Notification Bar for WordPress6543608k+wp function not compatible with requires wp
#2082SQL Buddy – Database Management Made Easy6512165k+SQL query is not prepared
#2083Return Refund and Exchange For WooCommerce65216534k+Non-prefixed global variable
#2084CP Media Player – Audio Player and Video Player66224483k+Text Domain Mismatch
#2085Easy PHP Settings6634482k+Missing Translators Comment
#2086Flexible Product Fields (WooCommerce Product Addons) – WooCommerce Product Page Editor66599810k+Non-prefixed global variable
#2087FluentBoards – Project Management, Task Management, Goal Tracking, Kanban Board, and, Team Collaboration6626306k+Missing direct file access protection
#2088Leadpages6666210k+Direct Query
#2089Plugin Compatibility Checker6673189k+Text Domain Mismatch
#2090Popup Maker – Boost Sales, Conversions, Optins, Subscribers with the Ultimate WP Popup Builder6651690700k+Non-prefixed hook name
#2091Safe Redirect Manager6696040k+Non-prefixed hook name
#2092Ajax add to cart for WooCommerce66673110k+Text Domain Mismatch
#2093Frenet Shipping Gateway for WooCommerce – Correios, Etiquetas e Rastreio6622314k+Non-prefixed global variable
#2094WP Redis6611259k+Interpolated SQL is not prepared
#2095Caddy – WooCommerce Side Cart & Free Shipping Bar67381994k+Non-prefixed global variable
#2096Missed Schedule Post Publisher6711107k+Output is not escaped
#2097Printful Integration for WooCommerce672187650k+Text Domain Mismatch
#2098Product Specifications for Woocommerce6712801k+Non-prefixed global variable
#2099wp-Typography67913320k+Missing direct file access protection
#2100Collapsing Categories682984k+Missing direct file access protection