Squiz.PHP.DiscouragedFunctions.Discouraged
PHP Discouraged Functions Discouraged
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 | Updated | Top Issue |
|---|---|---|---|---|---|---|---|
| #1 | BulletProof Security | 0 | 5,048 | 4,949 | 20k+ | 2026-05-20 | Output Not Escaped |
| #2 | JetBackup – Backup, Restore & Migrate | 10 | 1,559 | 145 | 100k+ | 2026-05-03 | Exception Not Escaped |
| #3 | Easy WP SMTP – WordPress SMTP and Email Logs: Gmail, Office 365, Outlook, Custom SMTP, and more | 15 | 32 | 163 | 500k+ | 2026-04-01 | Direct Query |
| #4 | JetFormBuilder — Dynamic Blocks Form Builder | 17 | 2,094 | 1,588 | 90k+ | 2026-06-17 | Text Domain Mismatch |
| #5 | wpForo Forum | 17 | 4,033 | 2,922 | 20k+ | 2026-05-31 | Unsafe Printing Function |
| #6 | Prime Slider Addons for Elementor | 18 | 3,500 | 230 | 100k+ | 2026-06-15 | Text Domain Mismatch |
| #7 | WP Import Export Lite | 18 | 738 | 979 | 40k+ | 2025-08-04 | Non Prefixed Variable Found |
| #8 | Element Pack – Widgets, Templates & Addons for Elementor | 19 | 9,448 | 517 | 100k+ | 2026-06-16 | Text Domain Mismatch |
| #9 | Download Monitor | 19 | 425 | 1,364 | 80k+ | 2026-06-16 | Non Prefixed Hookname Found |
| #10 | Advanced File Manager – Ultimate File Manager for WordPress And Document Library Solution | 19 | 1,218 | 901 | 100k+ | 2026-06-09 | Exception Not Escaped |
| #11 | Matomo Analytics – Powerful, Privacy-First Insights for WordPress | 19 | 1,909 | 878 | 100k+ | 2026-06-16 | Exception Not Escaped |
| #12 | Search Atlas SEO – Premier SEO Plugin for One-Click WP Publishing & Integrated AI Optimization | 19 | 1,295 | 2,679 | 9k+ | 2026-06-15 | Output Not Escaped |
| #13 | Really Simple Security – Simple and Performant Security (formerly Really Simple SSL) | 19 | 541 | 385 | 3m+ | 2026-06-17 | Missing Translators Comment |
| #14 | Membership Plugin – Kadence Memberships | 19 | 5,082 | 2,982 | 9k+ | 2026-05-26 | Text Domain Mismatch |
| #15 | BetterDocs – AI Documentation, Knowledge Base, Docs, Wikis, FAQ with Chatbot | 20 | 508 | 1,406 | 30k+ | 2026-06-18 | Non Prefixed Variable Found |
| #16 | Brizy – Page Builder | 20 | 589 | 720 | 70k+ | 2026-06-09 | Output Not Escaped |
| #17 | GiveWP – Donation Plugin and Fundraising Platform | 20 | 3,435 | 3,580 | 100k+ | 2026-06-15 | Output Not Escaped |
| #18 | Link Library | 20 | 1,941 | 1,397 | 10k+ | 2026-04-26 | Unsafe Printing Function |
| #19 | Microthemer Lite – Visual Editor to Customize CSS | 20 | 1,004 | 1,699 | 10k+ | 2026-04-15 | Non Prefixed Variable Found |
| #20 | Razorpay for WooCommerce | 20 | 974 | 855 | 100k+ | 2026-06-19 | Non Prefixed Function Found |
| #21 | Store Locator WordPress | 21 | 2,372 | 1,572 | 10k+ | 2026-06-03 | Text Domain Mismatch |
| #22 | Backup Migration | 21 | 981 | 1,093 | 80k+ | 2026-06-05 | Non Prefixed Variable Found |
| #23 | bbPress | 21 | 929 | 3,672 | 100k+ | 2025-07-02 | Non Prefixed Function Found |
| #24 | CartFlows – Funnel Builder & Checkout Plugin for WooCommerce | 21 | 461 | 614 | 200k+ | 2026-06-02 | Text Domain Mismatch |
| #25 | Smart Grid-Layout Design for Contact Form 7 | 21 | 1,126 | 734 | 10k+ | 2026-05-08 | Output Not Escaped |
| #26 | Comet Cache | 21 | 857 | 245 | 20k+ | 2025-07-02 | Output Not Escaped |
| #27 | Duplicator – Backups & Migration Plugin – Cloud Backups, Scheduled Backups, & More | 21 | 2,572 | 1,277 | 1m+ | 2026-05-22 | Output Not Escaped |
| #28 | Envo Extra | 21 | 878 | 600 | 20k+ | 2026-05-27 | Text Domain Mismatch |
| #29 | Feeds for YouTube (YouTube video, channel, and gallery plugin) | 21 | 558 | 978 | 100k+ | 2026-06-10 | Output Not Escaped |
| #30 | FileOrganizer – WordPress File Manager | 21 | 536 | 241 | 200k+ | 2026-06-10 | unlink unlink |
| #31 | Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More | 21 | 52 | 1,959 | 300k+ | 2026-06-16 | Non Prefixed Variable Found |
| #32 | Imagify: Optimize Images for Top Speed (Compress & Convert to WebP/AVIF) | 21 | 418 | 851 | 1m+ | 2026-06-01 | Non Prefixed Variable Found |
| #33 | Modular DS: Monitor, update, and backup multiple websites | 21 | 161 | 81 | 40k+ | 2026-05-22 | Exception Not Escaped |
| #34 | MotoPress Hotel Booking | 21 | 3,061 | 1,037 | 10k+ | 2026-06-15 | Text Domain Mismatch |
| #35 | Points Management System For Gamification, Ranks, Badges, and Loyalty Rewards Program – myCred | 21 | 1,469 | 3,333 | 10k+ | 2026-06-18 | Non Prefixed Variable Found |
| #36 | Packeta | 21 | 802 | 333 | 8k+ | 2025-11-07 | Exception Not Escaped |
| #37 | Landing Page Builder – Coming Soon page, Maintenance Mode, Lead Page, WordPress Landing Pages | 21 | 1,173 | 2,983 | 9k+ | 2026-06-02 | Non Prefixed Variable Found |
| #38 | Paid Membership Subscriptions – Effortless Memberships, Recurring Payments & Content Restriction | 21 | 1,918 | 5,065 | 10k+ | 2026-06-02 | Non Prefixed Hookname Found |
| #39 | Five Star Restaurant Reservations – WordPress Booking Plugin | 21 | 1,099 | 1,147 | 10k+ | 2026-06-19 | Output Not Escaped |
| #40 | Royal Addons for Elementor – Addons and Templates Kit for Elementor | 21 | 13,011 | 2,530 | 600k+ | 2026-06-08 | Text Domain Mismatch |
| #41 | Accept Stripe Payments | 21 | 373 | 882 | 20k+ | 2026-05-07 | Missing |
| #42 | Booster for WooCommerce – PDF Invoices, Abandoned Cart, Variation Swatches & 100+ Tools | 21 | 786 | 3,395 | 30k+ | 2026-06-17 | Non Prefixed Variable Found |
| #43 | PPOM – Product Addons & Custom Fields for WooCommerce | 21 | 336 | 1,325 | 20k+ | 2026-06-02 | Non Prefixed Variable Found |
| #44 | Wordfence Security – Firewall, Malware Scan, and Login Security | 21 | 1,592 | 2,973 | 5m+ | 2026-05-13 | Output Not Escaped |
| #45 | WP phpMyAdmin | 21 | 4,528 | 6,435 | 50k+ | 2025-10-17 | Missing Arg Domain |
| #46 | wpDataTables – WordPress Data Table, Dynamic Tables & Table Charts Plugin | 21 | 1,354 | 1,140 | 70k+ | 2026-06-08 | Output Not Escaped |
| #47 | WPScan – WordPress Security Scanner | 21 | 527 | 265 | 8k+ | 2026-01-12 | Text Domain Mismatch |
| #48 | Frontend Admin by DynamiApps | 22 | 5,922 | 3,208 | 10k+ | 2026-06-17 | Text Domain Mismatch |
| #49 | Advanced Ads – Ad Manager & AdSense | 22 | 578 | 734 | 100k+ | 2026-06-08 | Non Prefixed Variable Found |
| #50 | Advanced Form Integration — Connect Forms to 200+ Apps | 22 | 5,771 | 4,678 | 10k+ | 2026-06-18 | wp function not compatible with requires wp |