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 |
|---|---|---|---|---|---|---|---|---|
| #351 | Sitemap Generator | 50 | 60 | 26 | 3k+ | Output is not escaped | ||
| #352 | WPKoi Templates for Elementor | 50 | 935 | 25 | 5k+ | Text Domain Mismatch | ||
| #353 | Menu Icons by Themeisle – Add Icons to Navigation Menus | 51 | 34 | 22 | 100k+ | Output is not escaped | ||
| #354 | AI Copilot – ChatGPT Chatbot & AI Engine for Post Automation | 56 | 65 | 20 | 1k+ | Text Domain Mismatch | ||
| #355 | Payment Gateway for LiqPay for Woocommerce | 59 | 84 | 31 | 1k+ | Text Domain Mismatch | ||
| #356 | HelloAsso | 60 | 132 | 89 | 4k+ | Short PHP open tag found | ||
| #357 | XPoster – Share to Bluesky and Mastodon | 62 | 26 | 36 | 10k+ | Missing nonce verification | ||
| #358 | Custom Currency for WooCommerce | 70 | 63 | 5 | 2k+ | Missing direct file access protection | ||
| #359 | Anchor Episodes Index (Spotify for Podcasters) | 75 | 32 | 3 | 1k+ | Text Domain Mismatch | ||
| #360 | Gutenverse Companion | 81 | 16 | 29 | 8k+ | Nonce verification recommended | ||
| #361 | WP YouTube Live | 86 | 28 | 24 | 1k+ | Non-prefixed function | ||
| #362 | Genesis Blocks | 88 | 154 | 9 | 40k+ | Offloaded Content | ||
| #363 | WP Force SSL & HTTPS SSL Redirect | 92 | 18 | 21 | 90k+ | Non-prefixed global variable |