WordPress.DB.DirectDatabaseQuery.SchemaChange

Schema Change

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
#201Finpose – Accounting for WooCommerce231,6491,307400Non-prefixed global variable
#202Image Photo Gallery Final Tiles Grid235781,50220k+Non-prefixed global variable
#203Five-Star Ratings Shortcode236041,317600Non-prefixed global variable
#204Form Maker by 10Web – Mobile-Friendly Drag & Drop Contact Form Builder234,7461,27930k+Non Singular String Literal Domain
#205Freshdesk (official)23194386900Non-prefixed function
#206Front End PM239782,2645k+Non-prefixed global variable
#207Tracking and Consent Manager – WP Full Picture231,2803,2233k+Non-prefixed global variable
#208Fuse Social Floating Sidebar231,8401,57310k+Non-prefixed global variable
#209FV Flowplayer Video Player231,3111,45420k+Output is not escaped
#210GamiPress – Gamification plugin to reward points, achievements, badges & ranks in WordPress233,6622,97110k+Output is not escaped
#211Anti-Malware Security and Brute-Force Firewall23543965100k+Output is not escaped
#212Gmedia Photo Gallery233501,1217k+Non-prefixed global variable
#213Groundhogg — CRM, Newsletters, and Marketing Automation231369112k+Non-prefixed global variable
#214Interactive Content – H5P2356538040k+Non Singular String Literal Domain
#215Houzez Property Feed231,4641,6151k+Text Domain Mismatch
#216Iks Menu – WordPress Category Accordion Menu & FAQs236151,29310k+Non-prefixed global variable
#217Image Carousel For Divi235691,3091k+Non-prefixed global variable
#218Payment forms, Buy now buttons, and Invoicing System | GetPaid233871,2585k+Non-prefixed global variable
#219IP Geo Block233995899k+Output is not escaped
#220Joli FAQ SEO – WordPress FAQ Plugin231,0831,526700Non-prefixed global variable
#221Justified Gallery235891,4178k+Non-prefixed global variable
#222Kenta Companion236571,4192k+Non-prefixed global variable
#223King Addons for Elementor – 80+ Elementor Widgets, 4 000+ Elementor Templates, WooCommerce, Mega Menu, Popup Builder231,8313,87810k+Non-prefixed global variable
#224KiviCare – Clinic & Patient Management System (EHR)232068502k+Direct Query
#225Masteriyo LMS – LMS Course Builder, Quizzes & Certificates231922,1235k+Non-prefixed global variable
#226License Manager for WooCommerce231298196k+Request data is not unslashed
#227Like Button Rating ♥ LikeBtn231,2316174k+Unsafe printing function
#228Link Whisper Free233,8825,30330k+Text Domain Mismatch
#229Custom Login Page Customizer236871,40890k+Non-prefixed global variable
#230MailPoet – Newsletters, Email Marketing, and Automation23931719500k+Exception output is not escaped
#231Master Addons For Elementor – Widgets, Extensions, Theme Builder, Popup Builder & Template Kits235251,54130k+Non-prefixed global variable
#232Master Slider – Responsive Touch Slider2380040860k+Output is not escaped
#233Media Library File Download236151,2861k+Non-prefixed global variable
#234Menu Image, Icons made easy235911,406100k+Non-prefixed global variable
#235Restaurant Menu and Food Ordering233858532k+Non-prefixed global variable
#236MultiParcels Shipping For WooCommerce231793564k+Request data is not unslashed
#237MPG – Multiple Page Generator, Bulk Landing Pages & Programmatic SEO234885802k+Missing nonce verification
#238MyWorks Sync for WooCommerce & QuickBooks Online232,2929,1015k+Non-prefixed global variable
#239NicheTable – Responsive Comparison Table Block236831,307700Non-prefixed global variable
#240Ninja Forms – The Contact Form Builder That Grows With You237541,525600k+Nonce verification recommended
#241Ocean Extra231,4942,106500k+Non-prefixed global variable
#242Issues and Series for Newspapers, Magazines, Publishers, Writers233467102k+Nonce verification recommended
#243Patchstack – WordPress & Plugins Security2310748940k+Missing nonce verification
#244Photo Gallery by 10Web – Mobile-Friendly Image Gallery234,1591,553100k+Output is not escaped
#245Gallery PhotoBlocks239041,3453k+Non-prefixed global variable
#246Post to Google My Business (Google Business Profile)238451,45210k+Non-prefixed global variable
#247Pricing Table by Supsystic231,29944710k+Non Singular String Literal Domain
#248Primary Addon for Elementor237651,3067k+Non-prefixed global variable
#249Print Anywhere & Create PDFs of Order Receipts, Invoices, Labels & More.231,4854441k+Text Domain Mismatch
#250Print My Blog – Print, PDF, & eBook Converter WordPress Plugin231,0771,6608k+Non-prefixed global variable