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

RankPluginScoreErrorsWarningsInstallsUpdatedTop Issue
#1801Modal Window – create popup modal window40417010k+Non-prefixed global variable
#1802Multiple Featured Images4050225k+Output is not escaped
#1803Plugin Load Filter40761127k+Text Domain Mismatch
#1804Quiz Cat – WordPress Quiz Plugin40151695k+Output is not escaped
#1805Random Banner40591251k+Output is not escaped
#1806Redirector4048327k+Output is not escaped
#1807Reseller Store4053331k+Output is not escaped
#1808Role Based Redirect4020962k+Non-prefixed global variable
#1809Shortcodes Finder40221884k+Nonce verification recommended
#1810Simple Page Sidebars40556520k+Output is not escaped
#1811Statify Widget4052134k+Output is not escaped
#1812Payment Gateway – nexi Alpha Bank for WooCommerce4028451k+Missing nonce verification
#1813Word Balloon402012510k+Request data is not unslashed
#1814WP All Import – Job Listing Import for WP Job Manager4035272k+Output is not escaped
#1815Media Library Categories40294920k+Output is not escaped
#1816WP Reroute Email401411061k+Output is not escaped
#1817WPC Grouped Product for WooCommerce4019953k+Request data is not unslashed
#1818WPFront Notification Bar402224450k+Output is not escaped
#1819WPS Menu Exporter40472210k+Output is not escaped
#1820My YouTube Channel4054385k+Output is not escaped
#1821Zippy4043319k+Output is not escaped
#1822AMP for WP – Accelerated Mobile Pages416562,40180k+Non-prefixed global variable
#1823Alma – Pay in installments or later for WooCommerce41116681k+Exception output is not escaped
#1824Authenticator4159441k+Output is not escaped
#1825Auto Focus Keyword for SEO4112382k+Input is not validated
#1826Auto Image Attributes From Filename With Bulk Updater (Add Alt Text, Image Title For Image SEO)4117526100k+Unsafe printing function
#1827Beautiful Cookie Consent Banner41337640k+Non-prefixed global variable
#1828BuddyPress Xprofile Custom Field Types41391894k+Missing nonce verification
#1829Database for CF74137322k+Text Domain Mismatch
#1830DevVN Local Store4184281k+Unsafe printing function
#1831Disable Everything41901630k+Output is not escaped
#1832Duplicate Post Page Menu & Custom Post Type41351110k+Text Domain Mismatch
#1833Duplicate Page and Post41262180k+Unsafe printing function
#1834Multiple Themes411124110k+Output is not escaped
#1835Log cleaner for Solid Security4165478k+Text Domain Mismatch
#1836Mobile Contact Bar41943610k+Unsafe printing function
#1837Mollie Forms41145653k+Request data is not unslashed
#1838Native Emoji4154375k+Unsafe printing function
#1839Social Login4181105k+Input is not sanitized
#1840Omnibus — show the lowest price41353710k+Output is not escaped
#1841Optimus – WordPress Image Optimizer41522030k+Unsafe printing function
#1842OSS Aliyun4119403k+Request data is not unslashed
#1843Page & Post Notes4112771k+Non-prefixed global variable
#1844Pods – Custom Content Types and Fields415233100k+Direct Query
#1845Smart Post – Post Grid, Post Carousel, Post Slider Gutenberg Blocks for Blog & News4153720k+Non-prefixed global variable
#1846Posts 2 Posts41427310k+Non Singular String Literal Domain
#1847Product Expiry for WooCommerce4131852k+Request data is not unslashed
#1848Simple Product Options for WooCommerce4162413k+Output is not escaped
#1849Responsive Plus – Elementor Templates & Starter Sites414630710k+Non-prefixed global variable
#1850ShinyStat Analytics4188251k+Output is not escaped