WordPress.DB.PreparedSQLPlaceholders.QuotedSimplePlaceholder
Quoted Simple Placeholder
A SQL query is built in a way that Plugin Check cannot verify as safely prepared.
Why It Shows Up
The scan found missing, incorrect, quoted, unsupported, or mismatched SQL placeholders around `$wpdb->prepare()` usage.
Why It Matters
Broken preparation can leave dynamic SQL values unsafe or make queries behave differently than intended.
How to Fix
- Keep placeholders in the SQL string and pass dynamic values as separate arguments.
- Use the placeholder that matches the value type.
- Do not quote placeholders manually, and use allowlists for identifiers or SQL fragments.
References
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #101 | Social Slider Feed – Social Media Feed & Gallery Widgets | 24 | 927 | 706 | 10k+ | Non-prefixed global variable | ||
| #102 | Media Library Folders | 24 | 892 | 807 | 10k+ | Text Domain Mismatch | ||
| #103 | Ninja Forms – The Contact Form Builder That Grows With You | 24 | 752 | 1,599 | 600k+ | Nonce verification recommended | ||
| #104 | Patchstack – WordPress & Plugins Security | 24 | 104 | 478 | 50k+ | Missing nonce verification | ||
| #105 | Podlove Podcast Publisher | 24 | 2,107 | 1,399 | 3k+ | Output is not escaped | ||
| #106 | Poll Maker by AYS – Versus Polls, Anonymous Polls, Image Polls | 24 | 488 | 1,415 | 7k+ | Non-prefixed global variable | ||
| #107 | Co-Authors, Multiple Authors and Guest Authors in an Author Box with PublishPress Authors | 24 | 369 | 820 | 20k+ | Nonce verification recommended | ||
| #108 | Quiz Maker by AYS | 24 | 502 | 3,054 | 20k+ | Non-prefixed global variable | ||
| #109 | PublishPress Revisions: Duplicate Posts, Submit, Approve and Schedule Content Changes | 24 | 422 | 601 | 10k+ | Missing Translators Comment | ||
| #110 | SecuPress with Simple SSL – Simple and Performant Security | 24 | 1,695 | 1,600 | 40k+ | Non-prefixed global variable | ||
| #111 | Security Plugin, Firewall & Malware Scanner with Auto Removal | 24 | 1,156 | 813 | 40k+ | SQL query is not prepared | ||
| #112 | Shortcodes Ultimate – Content Elements | 24 | 656 | 1,552 | 400k+ | Non-prefixed global variable | ||
| #113 | SiteOrigin Widgets Bundle | 24 | 605 | 455 | 400k+ | Output is not escaped | ||
| #114 | Survey Maker by AYS | 24 | 566 | 2,401 | 5k+ | Non-prefixed global variable | ||
| #115 | Team Members – Multi Language Supported Team Plugin | 24 | 2,081 | 11,207 | 7k+ | Non-prefixed global variable | ||
| #116 | Timber | 24 | 85 | 128 | 20k+ | Non-prefixed hook name | ||
| #117 | Ultimate Product Catalog | 24 | 554 | 522 | 4k+ | Unsafe printing function | ||
| #118 | Disable Updates – Updates Manager, Disable Automatic Updates, Disable All Updates | 24 | 521 | 134 | 10k+ | Output is not escaped | ||
| #119 | WPML Multilingual & Multicurrency for WooCommerce | 24 | 1,599 | 1,691 | 100k+ | SQL query is not prepared | ||
| #120 | Asset CleanUp: Page Speed Booster | 24 | 1,541 | 3,462 | 100k+ | Non-prefixed global variable | ||
| #121 | Auto Affiliate Links | 24 | 399 | 410 | 3k+ | Output is not escaped | ||
| #122 | WP-Members Membership Plugin | 24 | 669 | 382 | 50k+ | Output is not escaped | ||
| #123 | WP Notification Bell | 24 | 736 | 1,591 | 700 | Non-prefixed global variable | ||
| #124 | WP-Stateless – Google Cloud Storage | 24 | 1,036 | 482 | 4k+ | Non Singular String Literal Domain | ||
| #125 | WP Travel Engine – Tour Booking Plugin – Tour Operator Software | 24 | 2,037 | 5,724 | 20k+ | Non-prefixed global variable | ||
| #126 | WP Ultimate CSV Importer – WordPress CSV, XML & Excel Import | 24 | 1,196 | 3,898 | 20k+ | Direct Query | ||
| #127 | Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress | 24 | 2,582 | 2,109 | 100k+ | Output is not escaped | ||
| #128 | WPeMatico RSS Feed Fetcher | 24 | 1,387 | 586 | 10k+ | Output is not escaped | ||
| #129 | Photo Engine (Media Organizer & Lightroom) | 24 | 253 | 645 | 2k+ | Direct Query | ||
| #130 | YMC Filter | 24 | 17 | 1,733 | 4k+ | Non-prefixed global variable | ||
| #131 | Dynamic Pricing With Discount Rules for WooCommerce | 25 | 165 | 205 | 5k+ | Non-prefixed global variable | ||
| #132 | AdRotate Banner Manager | 25 | 1,357 | 846 | 20k+ | Unsafe printing function | ||
| #133 | bbp style pack | 25 | 1,419 | 1,791 | 6k+ | Output is not escaped | ||
| #134 | Booking Package | 25 | 1,698 | 3,978 | 10k+ | Missing nonce verification | ||
| #135 | Disable Comments & Delete All Comments | 25 | 502 | 184 | 9k+ | Output is not escaped | ||
| #136 | CP Contact Form with PayPal | 25 | 467 | 941 | 800 | Unsafe printing function | ||
| #137 | Docket Cache – Object Cache Accelerator | 25 | 333 | 481 | 20k+ | Output is not escaped | ||
| #138 | 胖鼠采集(Fat Rat Collect) | 25 | 630 | 190 | 800 | Missing Arg Domain | ||
| #139 | Simple Giveaways – Grow your business, email lists and traffic with contests | 25 | 956 | 2,384 | 400 | Non-prefixed global variable | ||
| #140 | MaxButtons – Create buttons | 25 | 626 | 404 | 70k+ | Output is not escaped | ||
| #141 | Media Cleaner: Clean your WordPress! | 25 | 267 | 568 | 90k+ | Direct Query | ||
| #142 | Participants Database | 25 | 941 | 893 | 7k+ | SQL query is not prepared | ||
| #143 | Post Snippets – Custom WordPress Code Snippets Customizer | 25 | 803 | 1,655 | 20k+ | Non-prefixed global variable | ||
| #144 | Premmerce Product Search for WooCommerce | 25 | 596 | 1,350 | 900 | Non-prefixed global variable | ||
| #145 | Quiz and Survey Master (QSM) – Quiz Maker & Survey Maker | 25 | 381 | 2,621 | 40k+ | Non-prefixed hook name | ||
| #146 | reSmush.it : The original free image compressor and optimizer plugin | 25 | 155 | 69 | 100k+ | Output is not escaped | ||
| #147 | Sitemap by click5 | 25 | 286 | 132 | 6k+ | Unsafe printing function | ||
| #148 | Affiliate Program Suite — SliceWP Affiliates | 25 | 1,291 | 2,089 | 10k+ | Output is not escaped | ||
| #149 | STAGGS – Product Configurator Toolkit | 25 | 626 | 2,180 | 400 | Non-prefixed global variable | ||
| #150 | Cyrlitera – Transliteration of Links and File Names | 26 | 452 | 202 | 40k+ | Output is not escaped |