WordPress.WP.AlternativeFunctions.curl_curl_setopt
curl curl setopt
The plugin uses raw cURL functions instead of the WordPress HTTP API.
Why It Shows Up
Plugin Check found `curl_*` calls in plugin code.
Why It Matters
The WordPress HTTP API handles transports, proxies, SSL behavior, filters, and host compatibility more consistently than raw cURL.
How to Fix
- Replace simple cURL requests with `wp_remote_get()` or `wp_remote_post()`.
- Handle `WP_Error`, status codes, timeouts, and response body parsing explicitly.
- If a bundled library uses cURL internally, keep it isolated and avoid passing unchecked user input into requests.
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #1 | Live Shopping & Shoppable Videos For WooCommerce | 0 | 79 | 174 | 400 | Non-prefixed global variable | ||
| #2 | Themify Builder | 9 | 5,304 | 2,136 | 5k+ | Text Domain Mismatch | ||
| #3 | RestroPress – Online Food Ordering System | 17 | 524 | 3,155 | 1k+ | Non-prefixed global variable | ||
| #4 | Pagopar – WooCommerce Gateway | 18 | 530 | 1,215 | 400 | Non-prefixed global variable | ||
| #5 | Podlove Podcast Publisher | 18 | 2,354 | 1,433 | 3k+ | Output is not escaped | ||
| #6 | Realtyna Organic IDX plugin + WPL Real Estate | 18 | 930 | 3,636 | 2k+ | Non-prefixed global variable | ||
| #7 | Advanced File Manager – Ultimate File Manager for WordPress And Document Library Solution | 19 | 1,218 | 901 | 100k+ | Exception output is not escaped | ||
| #8 | AI Infographic Maker | 19 | 1,383 | 599 | 600 | Output is not escaped | ||
| #9 | Matomo Analytics – Powerful, Privacy-First Insights for WordPress | 19 | 1,900 | 877 | 100k+ | Exception output is not escaped | ||
| #10 | Verified Reviews (Avis Vérifiés) | 19 | 671 | 1,136 | 700 | Non-prefixed global variable | ||
| #11 | Razorpay Payment Button Plugin | 19 | 486 | 98 | 2k+ | Exception output is not escaped | ||
| #12 | Really Simple Security – Simple and Performant Security (formerly Really Simple SSL) | 19 | 536 | 379 | 3m+ | Missing Translators Comment | ||
| #13 | SendPress Newsletters | 19 | 2,293 | 1,422 | 1k+ | Output is not escaped | ||
| #14 | WP Email Template | 19 | 344 | 345 | 2k+ | Exception output is not escaped | ||
| #15 | WPOSS阿里云对象存储 | 19 | 269 | 315 | 900 | Non-prefixed namespace | ||
| #16 | WPQiNiu七牛云对象存储 | 19 | 138 | 612 | 400 | Non-prefixed global variable | ||
| #17 | Brizy – Page Builder | 20 | 586 | 726 | 70k+ | Output is not escaped | ||
| #18 | Post Form – Registration Form – Profile Form for User Profiles – Frontend Content Forms for User Submissions (UGC) | 20 | 736 | 2,112 | 900 | Non-prefixed global variable | ||
| #19 | Download Monitor | 20 | 423 | 1,364 | 80k+ | Non-prefixed hook name | ||
| #20 | Event Espresso – Event Registration & Ticketing Sales | 20 | 12,698 | 2,135 | 600 | Text Domain Mismatch | ||
| #21 | GoUrl Bitcoin Payment Gateway & Paid Downloads & Membership | 20 | 1,832 | 720 | 700 | Non Singular String Literal Domain | ||
| #22 | Leaky Paywall | 20 | 322 | 789 | 600 | Nonce verification recommended | ||
| #23 | Brevo – Email, SMS, Web Push, Chat, and more. | 20 | 460 | 646 | 100k+ | Request data is not unslashed | ||
| #24 | MAS Videos | 20 | 519 | 1,693 | 1k+ | Non-prefixed global variable | ||
| #25 | پلاگین پرداخت دلخواه | 20 | 584 | 446 | 900 | Text Domain Mismatch | ||
| #26 | Pix por Piggly (para Woocommerce) | 20 | 547 | 195 | 4k+ | Exception output is not escaped | ||
| #27 | Razorpay Payment Button Elementor Plugin | 20 | 479 | 62 | 1k+ | Exception output is not escaped | ||
| #28 | Robin Image Optimizer – Unlimited Image Optimization, WebP & AVIF | 20 | 556 | 543 | 100k+ | Output is not escaped | ||
| #29 | Razorpay for WooCommerce | 20 | 975 | 859 | 100k+ | Non-prefixed function | ||
| #30 | WP Minify Fix | 20 | 306 | 380 | 800 | Output is not escaped | ||
| #31 | Backup Migration | 21 | 981 | 1,093 | 80k+ | Non-prefixed global variable | ||
| #32 | Pinpoint Booking System – Version 2 | 21 | 634 | 328 | 3k+ | Missing direct file access protection | ||
| #33 | Booking Ultra Pro Appointments Booking Calendar Plugin | 21 | 761 | 2,083 | 400 | Request data is not unslashed | ||
| #34 | Cost Calculator Builder | 21 | 322 | 766 | 30k+ | Non-prefixed global variable | ||
| #35 | DELUCKS SEO | 21 | 362 | 1,171 | 400 | Missing nonce verification | ||
| #36 | Duplicator – Backups & Migration Plugin – Cloud Backups, Scheduled Backups, & More | 21 | 2,572 | 1,277 | 1m+ | Output is not escaped | ||
| #37 | Eupago Gateway For Woocommerce | 21 | 576 | 233 | 2k+ | Output is not escaped | ||
| #38 | EventPrime – Events Calendar, Bookings and Tickets | 21 | 873 | 4,308 | 7k+ | Non-prefixed global variable | ||
| #39 | FileOrganizer – WordPress File Manager | 21 | 536 | 241 | 200k+ | unlink unlink | ||
| #40 | Front End Users | 21 | 719 | 2,759 | 400 | Non-prefixed global variable | ||
| #41 | Mergado Pack | 21 | 2,323 | 588 | 700 | Output is not escaped | ||
| #42 | Points Management System For Gamification, Ranks, Badges, and Loyalty Rewards Program – myCred | 21 | 1,478 | 3,337 | 10k+ | Non-prefixed global variable | ||
| #43 | OneLogin SAML SSO | 21 | 507 | 330 | 7k+ | wp function not compatible with requires wp | ||
| #44 | Landing Page Builder – Coming Soon page, Maintenance Mode, Lead Page, WordPress Landing Pages | 21 | 1,120 | 2,913 | 9k+ | Non-prefixed global variable | ||
| #45 | Paid Membership Subscriptions – Effortless Memberships, Recurring Payments & Content Restriction | 21 | 1,953 | 5,297 | 10k+ | Non-prefixed hook name | ||
| #46 | Razorpay for Gravity Forms | 21 | 411 | 47 | 600 | Exception output is not escaped | ||
| #47 | Razorpay Quick Payments | 21 | 399 | 63 | 2k+ | Exception output is not escaped | ||
| #48 | Five Star Restaurant Reservations – WordPress Booking Plugin | 21 | 1,101 | 1,159 | 10k+ | Output is not escaped | ||
| #49 | Rocket Maintenance Mode & Coming Soon Page | 21 | 1,176 | 1,406 | 4k+ | Non-prefixed global variable | ||
| #50 | Seamless Donations is Sunset | 21 | 600 | 514 | 2k+ | Text Domain Mismatch |