WordPress.WP.AlternativeFunctions.curl_curl_multi_add_handle
curl curl multi add handle
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 | Razorpay Payment Button Plugin | 19 | 486 | 98 | 2k+ | Exception output is not escaped | ||
| #2 | Realtyna Organic IDX plugin + WPL Real Estate | 19 | 947 | 3,653 | 2k+ | Non-prefixed global variable | ||
| #3 | WP Email Template | 19 | 342 | 350 | 2k+ | Exception output is not escaped | ||
| #4 | Razorpay for WooCommerce | 20 | 974 | 855 | 100k+ | Non-prefixed function | ||
| #5 | Razorpay Quick Payments | 21 | 399 | 63 | 3k+ | Exception output is not escaped | ||
| #6 | Professional Social Sharing Buttons, Icons & Related Posts – Shareaholic | 21 | 327 | 181 | 10k+ | Output is not escaped | ||
| #7 | WP-Lister Lite for eBay | 21 | 6,697 | 5,129 | 2k+ | Output is not escaped | ||
| #8 | InfiniteWP Client | 22 | 2,286 | 1,812 | 200k+ | Exception output is not escaped | ||
| #9 | SNS Count Cache | 22 | 918 | 120 | 8k+ | Non Singular String Literal Domain | ||
| #10 | CleanTalk Anti-Spam. Spam Firewall & Bot protection | 23 | 826 | 1,078 | 200k+ | Missing nonce verification | ||
| #11 | Tracking and Consent Manager – WP Full Picture | 23 | 1,280 | 3,223 | 3k+ | Non-prefixed global variable | ||
| #12 | Link Whisper Free | 23 | 3,882 | 5,303 | 30k+ | Text Domain Mismatch | ||
| #13 | Simple URLs – Link Cloaking, Product Displays, and Affiliate Link Management | 23 | 295 | 298 | 4k+ | Non-prefixed global variable | ||
| #14 | WP Compress – Instant Performance & Speed Optimization | 23 | 3,053 | 2,384 | 10k+ | Non Singular String Literal Domain | ||
| #15 | AcyMailing – An Ultimate Newsletter Plugin and Marketing Automation Solution for WordPress | 24 | 5,230 | 1,464 | 7k+ | Output is not escaped | ||
| #16 | Advanced iFrame | 24 | 887 | 1,120 | 40k+ | Non-prefixed global variable | ||
| #17 | Backuply – Backup, Restore, Migrate and Clone | 24 | 704 | 551 | 700k+ | Non-prefixed global variable | ||
| #18 | MxChat – AI Chatbot & Content Generation for WordPress | 24 | 3,157 | 1,385 | 2k+ | Text Domain Mismatch | ||
| #19 | Security Plugin, Firewall & Malware Scanner with Auto Removal | 24 | 1,192 | 770 | 30k+ | Output is not escaped | ||
| #20 | Simple Social Media Share Buttons – Social Sharing for Everyone | 24 | 468 | 101 | 20k+ | Output is not escaped | ||
| #21 | Total Upkeep – WordPress Backup Plugin plus Restore & Migrate by BoldGrid | 25 | 243 | 854 | 50k+ | Non-prefixed global variable | ||
| #22 | BerqWP – Automatic WordPress Website Speed Optimization | 25 | 198 | 501 | 3k+ | Non-prefixed global variable | ||
| #23 | Tamara Checkout | 25 | 601 | 228 | 2k+ | Exception output is not escaped | ||
| #24 | W3 Total Cache | 25 | 617 | 1,345 | 900k+ | Non-prefixed global variable | ||
| #25 | Super Page Cache – Cloudflare Cache, Page Speed & Core Web Vitals | 25 | 137 | 353 | 60k+ | Input is not sanitized | ||
| #26 | Maven Algolia | 28 | 148 | 89 | 6k+ | Non Singular String Literal Domain | ||
| #27 | Converter for Media – Optimize images | Convert WebP & AVIF | 35 | 133 | 53 | 500k+ | curl curl setopt |