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
#101MotoPress Hotel Booking213,0671,03710k+Text Domain Mismatch
#102Points Management System For Gamification, Ranks, Badges, and Loyalty Rewards Program – myCred211,4813,34410k+Non-prefixed global variable
#103Oasis Workflow21775575600Text Domain Mismatch
#104Landing Page Builder – Coming Soon page, Maintenance Mode, Lead Page, WordPress Landing Pages211,1202,9139k+Non-prefixed global variable
#105Paid Membership Subscriptions – Effortless Memberships, Recurring Payments & Content Restriction211,9535,29710k+Non-prefixed hook name
#106PeachPay — Payments & Express Checkout for WooCommerce (supports Stripe, PayPal, Square, Authorize.net, NMI)21485813300Missing direct file access protection
#107User Profile Builder – Beautiful User Registration Forms, User Profiles & User Role Editor217031,46340k+Missing Translators Comment
#108PublishPress Planner – Editorial Calendar, Marketing Content, Kanban Board216038906k+Output is not escaped
#109Quill Forms | Conversational Multi Step Forms, Surveys & quizzes214013703k+Text Domain Mismatch
#110Razorpay for Gravity Forms2141147600Exception output is not escaped
#111Five Star Restaurant Reservations – WordPress Booking Plugin211,1011,15910k+Output is not escaped
#112Rocket Maintenance Mode & Coming Soon Page211,1761,4064k+Non-prefixed global variable
#113Royal Addons for Elementor – Addons and Templates Kit for Elementor2113,0162,440600k+Text Domain Mismatch
#114Seamless Donations is Sunset216005142k+Text Domain Mismatch
#115SeatReg213121,637400Missing nonce verification
#116Professional Social Sharing Buttons, Icons & Related Posts – Shareaholic2132718110k+Output is not escaped
#117Smart Forms – when you need more than just a contact form217765745k+Output is not escaped
#118Accept Stripe Payments2137389220k+Missing nonce verification
#119ThirstyAffiliates – Affiliate Links, Link Branding, Link Tracking & Marketing Plugin2119066030k+Non-prefixed global variable
#120Trace My IP – Visitor IP Tracker, Stats Analytics & Page Views Counter with Email Alerts218713381k+wp function not compatible with requires wp
#121Revive Social – Social Media Auto Post and Scheduling Automation Plugin2125643120k+Non-prefixed hook name
#122Uncanny Automator – Easy Automation, Integration, Webhooks & Workflow Builder Plugin211,0742,97840k+Direct Query
#123UPC/EAN/GTIN Barcode Generator/Importer21776311500Exception output is not escaped
#124URL Shortify – Simple and Easy URL Shortener211,5072,66510k+Non-prefixed global variable
#125Buckaroo Woocommerce Payments Plugin216383212k+Exception output is not escaped
#126BuddyPress WooCommerce My Account Integration. Create WooCommerce Member Pages216681,569800Non-prefixed global variable
#127WebP Express21160427300k+Non-prefixed global variable
#128Wise Chat214705065k+Output is not escaped
#129Paysera Payment Gateway for WooCommerce211,8681967k+Exception output is not escaped
#130Pay For Post with WooCommerce219581,4771k+Non-prefixed global variable
#131Wordfence Security – Firewall, Malware Scan, and Login Security211,8183,2365m+Output is not escaped
#132WP-Lister Lite for eBay216,7015,1322k+Output is not escaped
#133WP phpMyAdmin214,5286,43540k+Missing Arg Domain
#134wpDataTables – WordPress Data Table, Dynamic Tables & Table Charts Plugin211,8121,43270k+Output is not escaped
#135WP Extended – The Ultimate WordPress Toolkit211,253398600Non Singular String Literal Domain
#136WPScan – WordPress Security Scanner215272658k+Text Domain Mismatch
#137WebTotem Security211,110213800Text Domain Mismatch
#13812 Step Meeting List22156593900Non-prefixed global variable
#139WP Sessions Time Monitoring Full Automatic228691,529500Non-prefixed global variable
#140Advanced Classifieds & Directory Pro221,2293,5122k+Non-prefixed global variable
#141Ajax Load More – Infinite Scroll, Load More, & Lazy Load2264159230k+Unsafe printing function
#142All-in-One Video Gallery – Video Player & Galleries for YouTube, Vimeo & Self-Hosted Videos229122,88520k+Non-prefixed global variable
#143Author Website Templates – Create Writer, Author & Publisher Websites Easily227112,910500Non-prefixed global variable
#144Backup Bolt225801,313800Non-prefixed global variable
#145Captcha by BestWebSoft – Advanced Spam Protection, Math & OCR-Friendly Captcha for Site Forms2249329510k+Text Domain Mismatch
#146Cart Lift – Abandoned Cart Recovery for WooCommerce and EDD226697691k+Output is not escaped
#147CartFlows – Funnel Builder & Checkout Plugin for WooCommerce22460656200k+Text Domain Mismatch
#148Cleanup Action Scheduler225451,3061k+Non-prefixed global variable
#149Clearfy Cache – WordPress optimization plugin, Minify HTML, CSS & JS, Defer222,8541,26950k+Text Domain Mismatch
#150Code Profiler – WordPress Performance Profiling and Debugging Made Easy222654008k+Non-prefixed global variable