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
#3001Product Labels, Quick View, Buy Now, Pre-Orders, Frequently Bought Together & More for WooCommerce – Merchant601174010k+Non-prefixed global variable
#3002Post Duplicator603324200k+Missing direct file access protection
#3003Stream60249980k+Direct Query
#3004WPB Popup for Contact Form 7 – Showing Contact Form 7 Popup on Button Click602196k+Output is not escaped
#3005WPSSO Schema Product Metadata for WooCommerce603323500Missing Translators Comment
#3006CommerceBird – AI Command Center, ERP Integrations & B2B for WooCommerce (Zoho, Exact Online).613162500Direct Query
#3007ELEX WooCommerce Catalog Mode61974910k+Text Domain Mismatch
#3008GetPaid Stripe Payments61206442k+Text Domain Mismatch
#3009Media Library Helper — Bulk edit image ALT, caption & description61167010k+Non-prefixed global variable
#3010Powerkit – Supercharge your WordPress Site616711510k+Non-prefixed global variable
#3011PW WooCommerce Copy Coupon6115171k+Text Domain Mismatch
#3012SEOPress for MainWP61240106900Text Domain Mismatch
#3013Slider Factory6134142k+Non-prefixed global variable
#3014Show Variations as Single Products for WooCommerce611227500Unsafe printing function
#3015WP Optin Wheel – Gamified Optin Email Marketing Tool for WordPress and WooCommerce6122741k+Non-prefixed global variable
#3016AAM Protected Media Files621310600Direct Query
#3017Add Meta Tag Keywords626151k+Missing nonce verification
#3018Contact Form 7 – Blacklist Unwanted Email621611400Missing direct file access protection
#3019Bulk Page Creator6291710k+Request data is not unslashed
#3020Cloudways WordPress Migrator62152520k+Output is not escaped
#3021Carousel Slider627130k+Non-prefixed global variable
#3022Kit (formerly ConvertKit) – Email Newsletter, Email Marketing, Membership, Subscribers and Landing Pages628110040k+Missing direct file access protection
#3023DreamHost Automated Migration62152320k+Output is not escaped
#3024exovia GDPR Google Maps624064k+Output is not escaped
#3025Migrate To Liquid Web & Nexcess6215232k+Output is not escaped
#3026pensopay Payments v262408341k+Non Singular String Literal Domain
#3027Pressable Automated Migration6215233k+Output is not escaped
#3028Proofreading6211745k+Direct Query
#3029Spam Comments Cleaner6214291k+Non-prefixed function
#3030The Cache Purger6212251k+Input is not validated
#3031Topic SEO Content Optimization Tool6235151k+curl curl close
#3032Woo Product Remover6223141k+SQL query is not prepared
#3033Embed Videos For Product Image Gallery Using WooCommerce622116400Text Domain Mismatch
#3034WP Category Sort621522500Text Domain Mismatch
#3035XPoster – Share to Bluesky and Mastodon62263610k+Missing nonce verification
#3036Migrate to WordPress.com6215282k+Output is not escaped
#3037Automatic Featured Images from Videos6314137k+Missing direct file access protection
#3038Classic Editor and Classic Widgets63184120k+Nonce verification recommended
#3039Placeholder Image for WooCommerce63315400Output is not escaped
#3040Image Sitemap631114400Output is not escaped
#3041IndexNow Plugin631491100k+error log error log
#3042Missed Scheduled Posts Publisher by WPBeginner63161730k+Text Domain Mismatch
#3043MooWoodle – WordPress Moodle LMS Integration, Sell Moodle Courses via WooCommerce631045800No Caching
#3044Contact Form to Chat Apps | Click to Chat to Order – FormyChat63301363k+Direct Query
#3045Collapsing Archives643693k+date date
#3046CV Demo Importer642195400Non-prefixed global variable
#3047DataFeedWatch Connector for WooCommerce6416112600Non-prefixed hook name
#3048DoFollow Case by Case644601k+Direct Query
#3049ELEX WooCommerce Product Price Custom Text (Before & After Text) and Discount644441372k+Missing Arg Domain
#3050Icon Element – Icon Pack for Elementor Page Builder (6718 icons)64301640k+wp function not compatible with requires wp