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.
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.
References
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #651 | Mail Mint – Email Marketing, Newsletter, Email Automation & WooCommerce Emails | 24 | 4,696 | 1,480 | 5k+ | Text Domain Mismatch | ||
| #652 | Mailchimp for WooCommerce | 24 | 523 | 663 | 200k+ | Non-prefixed global variable | ||
| #653 | MailerPress – Newsletter, email marketing & AI automation | 24 | 805 | 3,931 | 1k+ | Direct Query | ||
| #654 | Mailjet Email Marketing | 24 | 435 | 206 | 10k+ | Unsafe printing function | ||
| #655 | Mang Board WP | 24 | 1,249 | 4,720 | 9k+ | Non-prefixed global variable | ||
| #656 | Admin Tweaks | 24 | 1,507 | 206 | 1k+ | Text Domain Mismatch | ||
| #657 | Mass Pages/Posts Creator | 24 | 736 | 1,364 | 1k+ | Non-prefixed global variable | ||
| #658 | Media Library Folders | 24 | 889 | 807 | 10k+ | Text Domain Mismatch | ||
| #659 | Receive customer payments on Woocommerce | 24 | 549 | 1,419 | 1k+ | Non-prefixed global variable | ||
| #660 | Timetable and Event Schedule by MotoPress | 24 | 456 | 232 | 30k+ | Output is not escaped | ||
| #661 | MT Addons for Elementor | 24 | 3,073 | 1,442 | 2k+ | Text Domain Mismatch | ||
| #662 | Music Player for Elementor – Audio Player & Podcast Player | 24 | 608 | 1,302 | 10k+ | Non-prefixed global variable | ||
| #663 | MxChat – AI Chatbot & Content Generation for WordPress | 24 | 3,220 | 1,399 | 2k+ | Text Domain Mismatch | ||
| #664 | My WP Customize Admin/Frontend | 24 | 1,249 | 292 | 8k+ | Unsafe printing function | ||
| #665 | My Agile Privacy® – CMP, Cookie Consent & Privacy Tools | 24 | 1,170 | 674 | 7k+ | Text Domain Mismatch | ||
| #666 | New User Approve | 24 | 652 | 1,415 | 20k+ | Non-prefixed global variable | ||
| #667 | Newsletter – Send awesome emails from WordPress | 24 | 898 | 2,214 | 200k+ | Non-prefixed global variable | ||
| #668 | Simple Newsletter Plugin – Noptin | 24 | 66 | 591 | 10k+ | Non-prefixed global variable | ||
| #669 | Newsletter Subscription Form – User Subscriptions Form, Capture Email | 24 | 385 | 829 | 1k+ | Non-prefixed global variable | ||
| #670 | Ninja Forms – The Contact Form Builder That Grows With You | 24 | 749 | 1,525 | 600k+ | Nonce verification recommended | ||
| #671 | Omnipress | 24 | 169 | 245 | 800 | Non-prefixed global variable | ||
| #672 | Opt-Out for Google Analytics (DSGVO / GDPR) | 24 | 290 | 1,978 | 3k+ | Non-prefixed global variable | ||
| #673 | Overlay Image Divi Module | 24 | 576 | 1,301 | 2k+ | Non-prefixed global variable | ||
| #674 | Pagar.me para WooCommerce | 24 | 549 | 116 | 5k+ | Text Domain Mismatch | ||
| #675 | Page Builder: Pagelayer – Drag and Drop website builder | 24 | 769 | 556 | 400k+ | Output is not escaped | ||
| #676 | Participants Database | 24 | 951 | 894 | 7k+ | SQL query is not prepared | ||
| #677 | Paymob for WooCommerce | 24 | 348 | 288 | 6k+ | Text Domain Mismatch | ||
| #678 | PDF for Gravity Forms + Drag And Drop Template Builder | 24 | 1,457 | 260 | 400 | wp function not compatible with requires wp | ||
| #679 | PDF Generator for WordPress Elementor | 24 | 513 | 271 | 1k+ | Exception output is not escaped | ||
| #680 | PixelYourSite – Your smart PIXEL (TAG) & API Manager | 24 | 1,160 | 2,407 | 500k+ | Non-prefixed namespace | ||
| #681 | Post Export Import with Media | 24 | 619 | 1,334 | 1k+ | Non-prefixed global variable | ||
| #682 | Post Slider and Post Carousel with Post Vertical Scrolling Widget – A Responsive Post Slider | 24 | 599 | 1,532 | 10k+ | Non-prefixed global variable | ||
| #683 | Product Catalog Simple | 24 | 1,555 | 1,982 | 1k+ | Output is not escaped | ||
| #684 | Post Affiliate Pro | 24 | 293 | 335 | 500 | Nonce verification recommended | ||
| #685 | Premium Blocks – Gutenberg Blocks, Patterns & Templates | 24 | 140 | 308 | 2k+ | Non-prefixed function | ||
| #686 | Premmerce Brands for WooCommerce | 24 | 700 | 1,344 | 2k+ | Non-prefixed global variable | ||
| #687 | Premmerce Product Filter for WooCommerce | 24 | 817 | 1,486 | 2k+ | Non-prefixed global variable | ||
| #688 | PrettyLinks – Affiliate Links, Link Branding, Link Tracking, Marketing and Stripe Payments Plugin | 24 | 449 | 1,137 | 200k+ | Nonce verification recommended | ||
| #689 | Product Editor Pro – WooCommerce Bulk Edit: Prices, Stock, Images, Titles, CSV Import & More | 24 | 2,154 | 4,833 | 1k+ | Non-prefixed global variable | ||
| #690 | Products Compare for WooCommerce | 24 | 1,033 | 692 | 1k+ | Output is not escaped | ||
| #691 | ProfileGrid – User Profiles, Groups and Communities | 24 | 474 | 2,460 | 6k+ | Non-prefixed global variable | ||
| #692 | Co-Authors, Multiple Authors and Guest Authors in an Author Box with PublishPress Authors | 24 | 369 | 820 | 20k+ | Nonce verification recommended | ||
| #693 | Pz-LinkCard | 24 | 951 | 1,581 | 20k+ | Non-prefixed global variable | ||
| #694 | PickPlugins Question Answer | 24 | 32 | 1,413 | 400 | Non-prefixed global variable | ||
| #695 | Quiz and Survey Master (QSM) – Easy Quiz and Survey Maker | 24 | 407 | 2,587 | 40k+ | Non-prefixed hook name | ||
| #696 | reGenerate Thumbnails Advanced | 24 | 220 | 122 | 70k+ | Unsafe printing function | ||
| #697 | Registrations for the Events Calendar – Event Registration Plugin | 24 | 405 | 943 | 7k+ | Non-prefixed global variable | ||
| #698 | Reviews Feed – Add Testimonials and Customer Reviews From Google Reviews, Yelp, TripAdvisor, and More | 24 | 141 | 685 | 100k+ | Non-prefixed global variable | ||
| #699 | RS WP Book Showcase – A Complete Book Catalogue & Library System | 24 | 910 | 343 | 1k+ | Text Domain Mismatch | ||
| #700 | RSFirewall! | 24 | 563 | 521 | 4k+ | Output is not escaped |