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 |
|---|---|---|---|---|---|---|---|---|
| #551 | ImageKit – URL based image manipulation and optimization | 87 | 47 | 42 | 1k+ | Non-prefixed global variable | ||
| #552 | Genesis Blocks | 88 | 154 | 9 | 40k+ | Offloaded Content | ||
| #553 | External files in Media Library | 90 | 16 | 68 | 400 | Direct Query | ||
| #554 | Include Mastodon Feed | 90 | 11 | 3 | 800 | Non-prefixed global variable | ||
| #555 | getLaw WP API Client | 91 | 11 | 4 | 600 | curl curl setopt | ||
| #556 | IndieAuth | 91 | 34 | 41 | 400 | Missing direct file access protection | ||
| #557 | WP Force SSL & HTTPS SSL Redirect | 92 | 18 | 21 | 90k+ | Non-prefixed global variable | ||
| #558 | Drag and Drop File Upload for Elementor Forms | 94 | 29 | 1 | 1k+ | curl curl setopt |