WordPress.WP.AlternativeFunctions.curl_curl_init
curl curl init
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 | FV Antispam | 26 | 332 | 239 | 900 | Output is not escaped | ||
| #352 | Translate WordPress – Google Language Translator | 26 | 200 | 317 | 100k+ | Non-prefixed global variable | ||
| #353 | GPTranslate – Multilingual AI Translation for WordPress: Automatically Translate Websites | 26 | 284 | 216 | 500 | badly named files | ||
| #354 | Integrate Razorpay for Contact Form 7 | 26 | 152 | 97 | 500 | curl curl setopt | ||
| #355 | Landing Page Cat – Coming Soon & Maintenance Pages | 26 | 91 | 180 | 600 | Non-prefixed class | ||
| #356 | Omise Payments | 26 | 358 | 256 | 2k+ | Output is not escaped | ||
| #357 | Online Contact Widget-多合一在线客服插件 | 26 | 708 | 80 | 800 | Non Singular String Literal Domain | ||
| #358 | Barion Payment Gateway for WooCommerce | 26 | 71 | 221 | 6k+ | Non-prefixed global variable | ||
| #359 | Pressidium Cookie Consent | 26 | 203 | 95 | 10k+ | Exception output is not escaped | ||
| #360 | Related Posts Thumbnails Plugin for WordPress | 26 | 382 | 198 | 20k+ | Output is not escaped | ||
| #361 | User Avatar | 26 | 104 | 173 | 4k+ | Non-prefixed constant | ||
| #362 | User Submitted Posts – Enable Users to Submit Posts from the Front End | 26 | 699 | 396 | 10k+ | Text Domain Mismatch | ||
| #363 | Parcel Pro | 26 | 171 | 220 | 600 | Output is not escaped | ||
| #364 | WP Flashy Marketing Automation | 26 | 432 | 186 | 2k+ | Text Domain Mismatch | ||
| #365 | Duplicate Post | 27 | 447 | 274 | 300k+ | Unsafe printing function | ||
| #366 | CM Tooltip Glossary | 27 | 611 | 188 | 7k+ | Output is not escaped | ||
| #367 | Foxtool All-in-One: Contact chat button, Custom login, Media optimize images | 27 | 1,629 | 360 | 7k+ | Unsafe printing function | ||
| #368 | Login for Google Apps | 27 | 139 | 85 | 10k+ | Exception output is not escaped | ||
| #369 | Gravity Forms + Stripe | 27 | 368 | 210 | 600 | Output is not escaped | ||
| #370 | GSpeech TTS – WordPress Text To Speech Plugin | 27 | 842 | 332 | 3k+ | Output is not escaped | ||
| #371 | iQ Block Country | 27 | 164 | 245 | 20k+ | Request data is not unslashed | ||
| #372 | Online Booking & Scheduling Calendar for WordPress by vcita | 27 | 473 | 161 | 1k+ | Output is not escaped | ||
| #373 | Nextend Social Login and Register | 27 | 1,668 | 243 | 200k+ | Output is not escaped | ||
| #374 | Robokassa payment gateway for Woocommerce | 27 | 95 | 211 | 3k+ | Non-prefixed global variable | ||
| #375 | Sign-up Sheets | 27 | 325 | 363 | 1k+ | Output is not escaped | ||
| #376 | Simple Download Monitor | 27 | 218 | 273 | 20k+ | Output is not escaped | ||
| #377 | Speed Booster Pack ⚡ PageSpeed Optimization Suite | 27 | 108 | 187 | 9k+ | Missing Translators Comment | ||
| #378 | Stream Video Player | 27 | 220 | 135 | 600 | Output is not escaped | ||
| #379 | Transbank Webpay | 27 | 198 | 211 | 10k+ | Non-prefixed global variable | ||
| #380 | Under Construction, Coming Soon & Maintenance Mode | 27 | 401 | 148 | 10k+ | Output is not escaped | ||
| #381 | Whols – Wholesale Prices and B2B Store Solution for WooCommerce | 27 | 228 | 235 | 2k+ | Output is not escaped | ||
| #382 | WPBase Cache | 27 | 189 | 113 | 2k+ | Text Domain Mismatch | ||
| #383 | AForms — Form Builder for Price Calculator & Cost Estimation | 28 | 564 | 95 | 3k+ | Text Domain Mismatch | ||
| #384 | Void Contact Form 7 Widget For Elementor Page Builder | 28 | 279 | 66 | 10k+ | Text Domain Mismatch | ||
| #385 | Expand Divi | 28 | 91 | 100 | 1k+ | Non-prefixed global variable | ||
| #386 | Friends | 28 | 164 | 670 | 1k+ | Non-prefixed global variable | ||
| #387 | گیتلند | درگاه پرداخت هوشمند گیتلند | 28 | 327 | 235 | 2k+ | Output is not escaped | ||
| #388 | GTmetrix for WordPress | 28 | 109 | 70 | 8k+ | Output is not escaped | ||
| #389 | Kama Thumbnail | 28 | 80 | 47 | 9k+ | Output is not escaped | ||
| #390 | Laposta Signup Basic | 28 | 276 | 67 | 2k+ | Output is not escaped | ||
| #391 | WP to LinkedIn Auto Publish | 28 | 734 | 250 | 900 | Unsafe printing function | ||
| #392 | Maven Algolia | 28 | 148 | 89 | 6k+ | Non Singular String Literal Domain | ||
| #393 | درگاه پرداخت بانک ملت ووکامرس | 28 | 61 | 130 | 2k+ | Request data is not unslashed | ||
| #394 | My auctions allegro | 28 | 483 | 235 | 500 | Non Singular String Literal Domain | ||
| #395 | Notification for Telegram | 28 | 189 | 93 | 4k+ | Output is not escaped | ||
| #396 | ووکامرس فارسی | 28 | 157 | 215 | 90k+ | Output is not escaped | ||
| #397 | افزونه حمل و نقل ووکامرس | پست پیشتاز، تیپاکس و پیک موتوری | 28 | 131 | 190 | 20k+ | Missing nonce verification | ||
| #398 | PHP Browser Detection | 28 | 68 | 49 | 600 | Non-prefixed function | ||
| #399 | Podcast Importer SecondLine | 28 | 356 | 169 | 4k+ | Text Domain Mismatch | ||
| #400 | PushAlert – Web Push Notifications for WordPress and WooCommerce | 28 | 196 | 63 | 1k+ | curl curl setopt |