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
#1951ReCrawler4910404k+Direct Query
#1952Search in Place4974573k+wp function not compatible with requires wp
#1953Secondary Product Image for WooCommerce4925292k+Output is not escaped
#1954SKT Themes Demo Import492181044k+Text Domain Mismatch
#1955Taxonomy Images4938509k+Output is not escaped
#1956PDF Invoices & Packing Slips for WooCommerce – Challan49561513k+Non-prefixed global variable
#1957WP Sitemap Page494314200k+Missing Translators Comment
#1958File Manager50427210k+Missing direct file access protection
#1959Send Emails with Mandrill50361416k+Non-prefixed global variable
#1960Server Info – System Health & Diagnostics Suite5015463k+Input is not sanitized
#1961Table Addons for Elementor50922920k+wp function not compatible with requires wp
#1962Theme Demo Import50101955k+Non-prefixed hook name
#1963WPML Multilingual for BuddyPress and BuddyBoss5118216k+SQL query is not prepared
#1964Counter Box – Add Countdowns, Timers & Dynamic Counters to WordPress5131161k+Missing nonce verification
#1965Firelight Lightbox517897200k+Non-prefixed global variable
#1966Lite Video Embed513571k+Output is not escaped
#1967OnSale Page for WooCommerce5130442k+Text Domain Mismatch
#1968Quotes and Tips by BestWebSoft514851901k+Text Domain Mismatch
#1969SePay Gateway5112392k+Nonce verification recommended
#1970Popular Brand Icons – Simple Icons5120123k+Output is not escaped
#1971Trustpilot Reviews51145230k+Missing nonce verification
#1972User Activity Tracking and Log51282373k+Non-prefixed global variable
#1973Swift SMTP (formerly Welcome Email Editor)5112627k+Missing nonce verification
#1974REST API Log5144955k+Non-prefixed hook name
#1975YayMail – WooCommerce Email Customizer5116378850k+Non-prefixed global variable
#1976Request a Quote for WooCommerce – Get a Quote Button5225126k+Output is not escaped
#1977MB Custom Post Types & Custom Taxonomies5294910k+Nonce verification recommended
#1978Metronet Tag Manager52173620k+Input is not validated
#1979Post Notification by Email5236132k+Output is not escaped
#1980SEOWriting52102430k+Output is not escaped
#1981SKU Generator for WooCommerce5229122k+Output is not escaped
#1982Wenprise Pinyin Slug5230344k+Text Domain Mismatch
#1983Price Based on Country for WooCommerce524312620k+Non-prefixed hook name
#1984Automattic For Agencies Client5324918420k+Text Domain Mismatch
#1985Connect Contact Form 7 and Mailchimp532365240k+Text Domain Mismatch
#1986FakerPress536615210k+Non-prefixed global variable
#1987LearnPress – bbPress Integration5319142k+Output is not escaped
#1988Multiple Post Thumbnails53251820k+Output is not escaped
#1989Pinterest for WooCommerce534430300k+Exception output is not escaped
#1990Preserved HTML Editor Markup Plus5312223k+Output is not escaped
#1991Royal WordPress Backup, Restore & Migration Plugin – Backup WordPress Sites Safely53349020k+Database parameter is not escaped
#1992Texty – SMS Notification for WordPress, WooCommerce, Dokan and more5331348k+Output is not escaped
#1993Cyr-To-Lat541648300k+Dynamic hook name
#1994Expanding Archives543793k+Output is not escaped
#1995Helpie FAQ — Accordion, Docs & Knowledge Base5496899k+Nonce verification recommended
#1996SimplyBook.me – Booking and reservations calendar54311330k+Exception output is not escaped
#1997WP Call Button – Easy Click to Call Button for WordPress54213840k+Non-prefixed global variable
#1998WP Menu Icons54685220k+Text Domain Mismatch
#1999Accordions55110120k+slow db query meta query
#2000Quick Buy Now Button for WooCommerce5537395k+Output is not escaped