Squiz.PHP.DiscouragedFunctions.Discouraged
Discouraged PHP function
The plugin uses a PHP or WordPress pattern that coding standards discourage.
Why It Shows Up
Plugin Check found a discouraged function, forbidden function, goto, backtick operator, or similar construct.
Why It Matters
Discouraged patterns are often harder to review, less portable across hosts, or easier to misuse securely.
How to Fix
- Identify why the construct is used and whether WordPress provides a safer API.
- Replace shell execution, dynamic execution, or broad forbidden functions with constrained WordPress APIs.
- If a third-party library triggers the warning, isolate and document it.
References
Affected Plugins
| Rank | Plugin | Score | Errors | Warnings | Installs | Added | Updated | Top Issue |
|---|---|---|---|---|---|---|---|---|
| #1 | BulletProof Security | 0 | 5,048 | 4,949 | 20k+ | Output is not escaped | ||
| #2 | Intercom | 0 | 60 | 71 | 6k+ | Non-prefixed function | ||
| #3 | Live Shopping & Shoppable Videos For WooCommerce | 0 | 79 | 174 | 400 | Non-prefixed global variable | ||
| #4 | Themify Builder | 9 | 5,334 | 2,171 | 5k+ | Text Domain Mismatch | ||
| #5 | JetBackup – Backup, Restore & Migrate | 10 | 1,567 | 156 | 200k+ | Exception output is not escaped | ||
| #6 | 404 Solution | 15 | 582 | 1,532 | 10k+ | Non-prefixed class | ||
| #7 | Easy WP SMTP – WordPress SMTP and Email Logs: Gmail SMTP, Office 365, Outlook, Custom SMTP, and more | 15 | 45 | 166 | 500k+ | Database parameter is not escaped | ||
| #8 | RestroPress – Online Food Ordering System | 17 | 534 | 3,207 | 1k+ | Non-prefixed global variable | ||
| #9 | Efí Bank | 17 | 886 | 553 | 400 | Exception output is not escaped | ||
| #10 | Shopping Cart & eCommerce Store | 17 | 8,038 | 17,464 | 3k+ | Non-prefixed global variable | ||
| #11 | wpForo Forum | 17 | 4,306 | 3,026 | 20k+ | Unsafe printing function | ||
| #12 | JetFormBuilder — Dynamic Blocks Form Builder | 18 | 2,120 | 1,615 | 80k+ | Text Domain Mismatch | ||
| #13 | Pagopar – WooCommerce Gateway | 18 | 530 | 1,215 | 400 | Non-prefixed global variable | ||
| #14 | Advanced File Manager – Ultimate File Manager for WordPress And Document Library Solution | 19 | 1,227 | 892 | 100k+ | Exception output is not escaped | ||
| #15 | GiveWP – Donation Plugin and Fundraising Platform | 19 | 3,413 | 3,569 | 100k+ | Output is not escaped | ||
| #16 | Go Fetch Jobs (for WP Job Manager) | 19 | 1,410 | 1,741 | 700 | Non-prefixed global variable | ||
| #17 | Matomo Analytics – Powerful, Privacy-First Insights for WordPress | 19 | 1,975 | 892 | 100k+ | Exception output is not escaped | ||
| #18 | Netgsm | 19 | 334 | 308 | 1k+ | Setting is missing a sanitization callback | ||
| #19 | Verified Reviews (Avis Vérifiés) | 19 | 671 | 1,136 | 700 | Non-prefixed global variable | ||
| #20 | Really Simple Security – Simple and Performant Security (formerly Really Simple SSL) | 19 | 531 | 378 | 3m+ | Missing Translators Comment | ||
| #21 | Membership Plugin – Kadence Memberships | 19 | 5,085 | 3,003 | 9k+ | Text Domain Mismatch | ||
| #22 | SendPress Newsletters | 19 | 2,293 | 1,422 | 1k+ | Output is not escaped | ||
| #23 | WP Email Template | 19 | 344 | 345 | 2k+ | Exception output is not escaped | ||
| #24 | WP Import Export Lite | 19 | 737 | 979 | 40k+ | Non-prefixed global variable | ||
| #25 | WP Directory Kit | 19 | 1,502 | 2,641 | 2k+ | Non-prefixed global variable | ||
| #26 | WPOSS阿里云对象存储 | 19 | 269 | 315 | 900 | Non-prefixed namespace | ||
| #27 | Brizy – Page Builder | 20 | 585 | 726 | 70k+ | Output is not escaped | ||
| #28 | Download Monitor | 20 | 423 | 1,367 | 80k+ | Non-prefixed hook name | ||
| #29 | Ebook Store | 20 | 405 | 1,065 | 700 | Non-prefixed global variable | ||
| #30 | Event Espresso – Event Registration & Ticketing Sales | 20 | 12,698 | 2,135 | 600 | Text Domain Mismatch | ||
| #31 | GoUrl Bitcoin Payment Gateway & Paid Downloads & Membership | 20 | 1,832 | 720 | 700 | Non Singular String Literal Domain | ||
| #32 | MAS Videos | 20 | 519 | 1,693 | 1k+ | Non-prefixed global variable | ||
| #33 | Microthemer Lite – Visual Editor to Customize CSS | 20 | 1,004 | 1,699 | 10k+ | Non-prefixed global variable | ||
| #34 | Pronamic Pay | 20 | 266 | 1,078 | 2k+ | Non-prefixed global variable | ||
| #35 | Quill Forms | Conversational Multi Step Forms, Surveys & quizzes | 20 | 400 | 371 | 3k+ | Text Domain Mismatch | ||
| #36 | SpeakOut! Email Petitions | 20 | 850 | 994 | 2k+ | Missing nonce verification | ||
| #37 | Events Manager – OpenStreetMaps | 20 | 559 | 444 | 600 | Output is not escaped | ||
| #38 | WP Compress – Instant Performance & Speed Optimization | 20 | 4,252 | 3,614 | 10k+ | Non Singular String Literal Domain | ||
| #39 | WP Minify Fix | 20 | 306 | 380 | 800 | Output is not escaped | ||
| #40 | 12 Step Meeting List | 21 | 149 | 594 | 900 | Non-prefixed global variable | ||
| #41 | Backup Migration | 21 | 999 | 1,081 | 80k+ | Non-prefixed global variable | ||
| #42 | Forumax – AI Powered Advanced Community Forum Plugin | 21 | 4,931 | 4,352 | 600 | Text Domain Mismatch | ||
| #43 | Kadence Security – Password, Two Factor Authentication, and Brute Force Protection | 21 | 1,060 | 957 | 700k+ | Missing Translators Comment | ||
| #44 | Pinpoint Booking System – Version 2 | 21 | 634 | 328 | 3k+ | Missing direct file access protection | ||
| #45 | Better Messages – Chat Rooms, Group Chat, Private Messages & AI Chat Bots | 21 | 1,652 | 2,058 | 10k+ | Direct Query | ||
| #46 | Captcha Them All | 21 | 300 | 323 | 5k+ | Output is not escaped | ||
| #47 | Spam protection, Honeypot, Anti-Spam by CleanTalk | 21 | 833 | 1,133 | 200k+ | Missing nonce verification | ||
| #48 | Comet Cache | 21 | 857 | 245 | 20k+ | Output is not escaped | ||
| #49 | DELUCKS SEO | 21 | 362 | 1,171 | 400 | Missing nonce verification | ||
| #50 | Duplicator – Backups & Migration Plugin – Cloud Backups, Scheduled Backups, & More | 21 | 2,576 | 1,298 | 1m+ | Output is not escaped |