WordPress.DB.DirectDatabaseQuery.DirectQuery

Direct Query

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
#401Ocean Extra231,4942,107500k+Non-prefixed global variable
#402Issues and Series for Newspapers, Magazines, Publishers, Writers233467102k+Nonce verification recommended
#403Patchstack – WordPress & Plugins Security2310748950k+Missing nonce verification
#404Photo Gallery by 10Web – Mobile-Friendly Image Gallery234,1591,553100k+Output is not escaped
#405Gallery PhotoBlocks239041,3453k+Non-prefixed global variable
#406ExpressTechSoftwares Discord Add-on for Paid Memberships Pro23454449700Text Domain Mismatch
#407AI Popup231,224636400Text Domain Mismatch
#408Post to Google My Business (Google Business Profile)238451,45210k+Non-prefixed global variable
#409Postie2340825910k+Output is not escaped
#410PowerPress Podcasting plugin by Blubrry234,8152,45220k+Output is not escaped
#411Pricing Table by Supsystic231,29944710k+Non Singular String Literal Domain
#412Primary Addon for Elementor237651,3067k+Non-prefixed global variable
#413Print Anywhere & Create PDFs of Order Receipts, Invoices, Labels & More.231,4854441k+Text Domain Mismatch
#414Print My Blog – Print, PDF, & eBook Converter WordPress Plugin231,0771,6608k+Non-prefixed global variable
#415Protect Admin236061,3002k+Non-prefixed global variable
#416Radio Station by netmix® – Manage and play your Show Schedule in WordPress!239343,6191k+Non-prefixed global variable
#417Read More Without Refresh239551,34720k+Non-prefixed global variable
#418Read More WP235701,3111k+Non-prefixed global variable
#419Real 3D Flipbook – 3D FlipBook, PDF FlipBook, PDF Viewer, PDF Embedder239081,37710k+Non-prefixed global variable
#420Redirection23523457100k+Non-prefixed global variable
#421Request a Quote – Quote Forms for Any WordPress Site232401,099900Non-prefixed hook name
#422Restaurant & Cafe Addon for Elementor238891,3261k+Non-prefixed global variable
#423Revive.so – Bulk Rewrite and Republish Blog Posts23332228700Text Domain Mismatch
#424Robo Gallery – Photo & Image Slider231,29153040k+Output is not escaped
#425Schema231,17324540k+Text Domain Mismatch
#426SecuPress with Simple SSL – Simple and Performant Security231,6971,60140k+Non-prefixed global variable
#427Secure Custom Fields232401,37080k+Non-prefixed function
#428SEO Redirection Plugin – 301 Redirect Manager2327272710k+Non-prefixed global variable
#429Seraphinite Post .DOCX Source231,156110900Output is not escaped
#430Seriously Simple Podcasting2354862930k+Non-prefixed hook name
#431Local Google Analytics for WordPress – caches external requests235511993k+Output is not escaped
#432Tag, Category, and Taxonomy Manager – Autotagger Automatically Add Terms2340586950k+Nonce verification recommended
#433Simple URLs – Link Cloaking, Product Displays, and Affiliate Link Management232952984k+Non-prefixed global variable
#434Image Optimizer, Resizer and CDN – Sirv236161,0041k+Output is not escaped
#435Site Reviews231,62660460k+Output is not escaped
#436Slider by 10Web – Responsive Image Slider235,81497610k+Output is not escaped
#437Smart Marketing SMS and Newsletters Forms232,2321,0151k+Text Domain Mismatch
#438Smart Slider 323261268800k+Non-prefixed global variable
#439SportsPress – Sports Club & League Manager234592,24610k+Non-prefixed global variable
#440StreamWeasels Twitch Integration235551,4651k+Non-prefixed global variable
#441Strong Testimonials2319439390k+Nonce verification recommended
#442Super Video player – Fully Customizable Video Player with Playlist231,1351,6342k+Non-prefixed global variable
#443teachPress237441,5872k+SQL query is not prepared
#444Legal Terms and Conditions Popup for User Login and WooCommerce Checkout23524237700Output is not escaped
#445The Events Calendar233,5093,850700k+Text Domain Mismatch
#446The Post Grid – Shortcode, Gutenberg Blocks and Elementor Addon for Post Grid231051,013100k+Non-prefixed global variable
#447ThemeHunk Customizer233,9685826k+Text Domain Mismatch
#448Travelpayouts237691106k+Output is not escaped
#449Trinity Audio – Text to Speech AI audio player to convert content into audio231192272k+Non-prefixed global variable
#450Directory Listings WordPress plugin – uListing239471,5731k+Non-prefixed global variable