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 |
|---|---|---|---|---|---|---|---|---|
| #751 | WP Hardening (discontinued) | 36 | 230 | 85 | 10k+ | Text Domain Mismatch | ||
| #752 | wpShopGermany IT-RECHT KANZLEI | 36 | 37 | 47 | 500 | Input is not sanitized | ||
| #753 | Database Snapshots – WPvivid | 36 | 66 | 108 | 1k+ | Direct Query | ||
| #754 | Zeno – AI-Powered Chatbot | 36 | 311 | 131 | 500 | Text Domain Mismatch | ||
| #755 | Add From Server | 37 | 52 | 20 | 60k+ | Output is not escaped | ||
| #756 | Exploit Scanner | 37 | 25 | 130 | 8k+ | Non-prefixed global variable | ||
| #757 | Get Custom Field Values | 37 | 40 | 44 | 1k+ | Output is not escaped | ||
| #758 | Google for WooCommerce | 37 | 328 | 121 | 800k+ | Exception output is not escaped | ||
| #759 | XML Sitemap Generator for Google | 37 | 43 | 79 | 1m+ | Input is not validated | ||
| #760 | Images to WebP | 37 | 39 | 50 | 9k+ | curl curl setopt | ||
| #761 | JS Help Desk – AI-Powered Support & Ticketing System | 37 | 17 | 406 | 7k+ | Missing nonce verification | ||
| #762 | LearnPress – Course Review | 37 | 67 | 43 | 20k+ | Output is not escaped | ||
| #763 | LiveJournal Importer | 37 | 86 | 67 | 8k+ | Output is not escaped | ||
| #764 | Media Sweep – WordPress Media Cleaner | 37 | 56 | 137 | 1k+ | Interpolated SQL is not prepared | ||
| #765 | CrawlWP SEO – Instant Search Engine Indexing & SEO Performance Monitor | 37 | 47 | 90 | 40k+ | Dynamic hook name | ||
| #766 | Phoenix Media Rename | 37 | 180 | 104 | 50k+ | Output is not escaped | ||
| #767 | Post Terms Order – per Post based | 37 | 70 | 36 | 2k+ | Output is not escaped | ||
| #768 | Orders Tracking for WooCommerce | 37 | 7 | 312 | 10k+ | Request data is not unslashed | ||
| #769 | Quickpay for WooCommerce | 37 | 66 | 56 | 4k+ | Nonce verification recommended | ||
| #770 | Action Scheduler | 38 | 92 | 134 | 20k+ | Exception output is not escaped | ||
| #771 | Admin Bar & Dashboard Access Control | 38 | 94 | 37 | 3k+ | Text Domain Mismatch | ||
| #772 | Ashe Extra | 38 | 109 | 54 | 3k+ | Text Domain Mismatch | ||
| #773 | Blogger Importer | 38 | 44 | 39 | 50k+ | Output is not escaped | ||
| #774 | Export User Data | 38 | 187 | 62 | 6k+ | Text Domain Mismatch | ||
| #775 | Buttonizer – Social Media Share Buttons, Social Icons, & Social Feeds | 38 | 167 | 82 | 40k+ | Output is not escaped | ||
| #776 | Social Photo Fetcher | 38 | 151 | 43 | 1k+ | Output is not escaped | ||
| #777 | Social Shop for WooCommerce | 38 | 51 | 24 | 800 | Output is not escaped | ||
| #778 | HashThemes Demo Importer | 38 | 71 | 44 | 6k+ | Output is not escaped | ||
| #779 | Jupiter X Core | 38 | 71 | 767 | 70k+ | Non-prefixed global variable | ||
| #780 | Lana Downloads Manager | 38 | 146 | 78 | 3k+ | Unsafe printing function | ||
| #781 | MainWP Child – Securely Connects to the MainWP Dashboard to Manage Multiple Sites | 38 | 3 | 136 | 700k+ | Non-prefixed hook name | ||
| #782 | One Click Demo Import | 38 | 22 | 84 | 1m+ | Non-prefixed global variable | ||
| #783 | Podlove Subscribe button | 38 | 148 | 45 | 2k+ | Output is not escaped | ||
| #784 | qTranslate X Cleanup and WPML Import | 38 | 167 | 102 | 800 | Text Domain Mismatch | ||
| #785 | RDP Wiki Embed | 38 | 69 | 26 | 400 | Output is not escaped | ||
| #786 | Slickplan Importer | 38 | 40 | 58 | 400 | Non-prefixed global variable | ||
| #787 | Social Snap — Social Share Buttons & Click to Tweet | 38 | 6 | 169 | 10k+ | Direct Query | ||
| #788 | Subscriptions & Memberships for PayPal | 38 | 73 | 237 | 900 | Request data is not unslashed | ||
| #789 | Templatiq | 38 | 31 | 94 | 900 | Non-prefixed hook name | ||
| #790 | Photo Reviews for WooCommerce | 38 | 26 | 222 | 10k+ | Request data is not unslashed | ||
| #791 | Native PHP Sessions | 38 | 30 | 92 | 10k+ | Direct Query | ||
| #792 | Better WordPress External Links | 39 | 130 | 35 | 400 | Non Singular String Literal Domain | ||
| #793 | Cache Images | 39 | 72 | 27 | 1k+ | Unsafe printing function | ||
| #794 | Culqi | 39 | 571 | 88 | 1k+ | Text Domain Mismatch | ||
| #795 | GS Only PDF Preview | 39 | 46 | 36 | 1k+ | Output is not escaped | ||
| #796 | S2W – Import Shopify to WooCommerce | 39 | 8 | 132 | 3k+ | Request data is not unslashed | ||
| #797 | Media Sync | 39 | 193 | 7 | 50k+ | Short PHP open tag found | ||
| #798 | Movable Type and TypePad Importer | 39 | 42 | 25 | 20k+ | Output is not escaped | ||
| #799 | NextGEN Download Gallery | 39 | 57 | 21 | 2k+ | Short PHP open tag found | ||
| #800 | Redirect 404 Error Page to Homepage or Custom Page with Logs | 39 | 27 | 53 | 10k+ | Nonce verification recommended |