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
#2101Desktop Mode3615872k+Direct Query
#2102Doneren met Mollie364203514k+SQL query is not prepared
#2103Duplicate Post – duplicate pages, copy content, clone posts3671815k+wp function not compatible with requires wp
#2104Dynamic Copyright Year3697243800Output is not escaped
#2105Dynamic Front-End Heartbeat Control362171111k+Text Domain Mismatch
#2106Dynamic Visibility for Elementor36568950k+Non-prefixed hook name
#2107WP CTA – Call Now Button, Sticky Button & Call to Action Builder3614332k+Non-prefixed global variable
#2108Easy Support Videos – Embed videos in the admin3616095500Output is not escaped
#2109Enhanced Media Library3636111760k+Unsafe printing function
#2110Enormail Sign Up Forms36133126400Output is not escaped
#2111Events Manager and WPML Compatibility361011771k+Direct Query
#2112FreePay for WooCommerce36114102400Output is not escaped
#2113Friendly Functions for Welcart36311831k+Non Singular String Literal Domain
#2114Genesis Sandbox Featured Content Widget36229241k+Text Domain Mismatch
#2115GetPaid > Wallet36149174700Text Domain Mismatch
#2116Google SEO Pressor for Rich snippets3651160400Missing nonce verification
#2117Google Webfont Optimizer364549700Output is not escaped
#2118Header Footer Script Adder – Insert Code in Header, Body & Footer36203781k+Text Domain Mismatch
#2119Header Footer Code Manager3681180600k+Non-prefixed global variable
#2120Optimize Social Share36203613k+Unsafe printing function
#2121HTML Forms – Simple WordPress Forms Plugin3623116610k+Output is not escaped
#2122HTTP Requests Manager3698901k+Output is not escaped
#2123IntelliWidget Per Page Custom Menus and Dynamic Content36586162600Output is not escaped
#2124Italy Cookie Choices (for EU Cookie Law & Cookie Notice)361157710k+Unsafe printing function
#2125Jetpack VideoPress366182247k+Text Domain Mismatch
#2126Lara's Google Analytics (GA4)36303579k+Unsafe printing function
#2127Legal Text Connector of the IT-Recht Kanzlei36454610k+Exception output is not escaped
#2128Libro de Reclamaciones y Quejas362661244k+Text Domain Mismatch
#2129LONG URL MAKER3639711k+Direct Query
#2130MailMunch – Grow your Email List36102496k+Output is not escaped
#2131Manage Notification E-mails3612998100k+Non-prefixed function
#2132Materialis Companion36129676k+Unsafe printing function
#2133Media Deduper3660999k+Missing Arg Domain
#2134Microsoft Clarity3648163200k+Nonce verification recommended
#2135Multiple Sidebars3610975600Non Singular String Literal Domain
#2136News Manager3613457600Output is not escaped
#2137NextGEN Custom Fields362151311k+SQL query is not prepared
#2138MailerLite – Signup forms (official)36430158100k+Output is not escaped
#2139We’re Open!362731875k+Unsafe printing function
#2140Order Status History for WooCommerce362101711k+Output is not escaped
#2141Ovation Elements362339910k+Non-prefixed global variable
#2142Peter’s Post Notes362241023k+Output is not escaped
#2143Photonic Gallery & Lightbox for Flickr, SmugMug & Others3618016310k+Missing Translators Comment
#2144Photoswipe Masonry Gallery3657476k+Non Singular String Literal Text
#2145Plugins Garbage Collector (Database Cleanup)36325110k+Missing nonce verification
#2146Post Views Stats Counter36142241700Non-prefixed global variable
#2147ActiveCampaign Postmark for WordPress36477550k+Text Domain Mismatch
#2148WowStore – Store Builder & Product Blocks for WooCommerce36564374k+Non-prefixed global variable
#2149افزونه رسمی ترب36428620k+Exception output is not escaped
#2150Rara One Click Demo Import361229820k+Missing Translators Comment