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 |
|---|---|---|---|---|---|---|---|
| #401 | Jetpack VaultPress | 28 | 71 | 362 | 10k+ | Missing | |
| #402 | 10WebSocial | 28 | 584 | 185 | 10k+ | Unsafe Printing Function | |
| #403 | WP ADA Compliance Check Basic | 28 | 785 | 177 | 3k+ | Text Domain Mismatch | |
| #404 | Connect Matomo – Analytics Dashboard for WordPress | 28 | 100 | 102 | 60k+ | Missing Translators Comment | |
| #405 | WP YouTube Lyte | 28 | 204 | 178 | 30k+ | Non Prefixed Variable Found | |
| #406 | Alt Text AI – Automatically generate image alt text for SEO and accessibility | 29 | 72 | 280 | 20k+ | Non Prefixed Variable Found | |
| #407 | aThemeArt Theme Helper | 29 | 206 | 151 | 2k+ | Non Prefixed Variable Found | |
| #408 | Plugin BlueX for WooCommerce | 29 | 431 | 216 | 2k+ | Text Domain Mismatch | |
| #409 | Document Gallery | 29 | 183 | 98 | 8k+ | Output Not Escaped | |
| #410 | Getwid – Gutenberg Blocks | 29 | 139 | 173 | 50k+ | Non Prefixed Variable Found | |
| #411 | Jetpack Boost – Website Speed, Performance and Critical CSS | 29 | 647 | 248 | 200k+ | Text Domain Mismatch | |
| #412 | Kits, Templates and Patterns | 29 | 380 | 91 | 5k+ | Text Domain Mismatch | |
| #413 | Optimole – Optimize Images | Convert WebP & AVIF | CDN & Lazy Load | Image Optimization | 29 | 80 | 162 | 200k+ | Recommended | |
| #414 | Page View Count | 29 | 108 | 247 | 10k+ | Dynamic Hookname Found | |
| #415 | Security Ninja – WordPress Security & Firewall | 29 | 149 | 347 | 7k+ | Direct Query | |
| #416 | Shiptastic for WooCommerce | 29 | 136 | 630 | 10k+ | Non Prefixed Variable Found | |
| #417 | Themify Popup | 29 | 232 | 108 | 8k+ | Text Domain Mismatch | |
| #418 | Ultimate Auction for WooCommerce – Excellent WP Auction Plugin | 29 | 52 | 523 | 2k+ | Non Prefixed Variable Found | |
| #419 | Custom Post Types and Custom Fields creator – WCK | 29 | 1,300 | 143 | 10k+ | Text Domain Mismatch | |
| #420 | Widget for Yelp Reviews | 29 | 147 | 158 | 2k+ | Output Not Escaped | |
| #421 | aThemes Starter Sites | 30 | 259 | 195 | 40k+ | Text Domain Mismatch | |
| #422 | Custom Field Template | 30 | 521 | 618 | 30k+ | Recommended | |
| #423 | Edwiser Bridge – WordPress Moodle Integration | 30 | 4 | 669 | 4k+ | Non Prefixed Hookname Found | |
| #424 | Formzu WP | 30 | 167 | 163 | 3k+ | Text Domain Mismatch | |
| #425 | Import WooCommerce Suite | 30 | 80 | 434 | 4k+ | Interpolated Not Prepared | |
| #426 | Jetpack Protect | 30 | 657 | 217 | 100k+ | Text Domain Mismatch | |
| #427 | Popularis Extra | 30 | 237 | 141 | 7k+ | Output Not Escaped | |
| #428 | QA Assistants – Driven by data | 30 | 4 | 867 | 2k+ | Non Prefixed Variable Found | |
| #429 | SmartCrawl SEO checker, analyzer & optimizer | 30 | 347 | 1,307 | 20k+ | Non Prefixed Variable Found | |
| #430 | Themify Portfolio Post | 30 | 214 | 102 | 30k+ | Text Domain Mismatch | |
| #431 | User Access Manager | 30 | 393 | 171 | 10k+ | Output Not Escaped | |
| #432 | Widgetize Pages Light | 30 | 145 | 104 | 3k+ | Output Not Escaped | |
| #433 | WCPOS – Point of Sale (POS) plugin for WooCommerce | 30 | 77 | 228 | 5k+ | Recommended | |
| #434 | WPS Cleaner | 30 | 430 | 491 | 20k+ | Output Not Escaped | |
| #435 | WPZOOM Addons for Beaver Builder | 30 | 2,216 | 152 | 4k+ | Text Domain Mismatch | |
| #436 | Zoho CRM Lead Magnet | 30 | 101 | 1,025 | 3k+ | Missing Unslash | |
| #437 | a3 Lazy Load | 31 | 83 | 240 | 90k+ | Dynamic Hookname Found | |
| #438 | AEH Speed Optimization: Browser Cache, Optimized Minify, Lazy Loading & Image Optimization | 31 | 91 | 133 | 2k+ | Output Not Escaped | |
| #439 | Advanced Woo Search – Product Search for WooCommerce | 31 | 228 | 377 | 70k+ | Recommended | |
| #440 | The SEO Framework – Fast, Automated, Effortless. | 31 | 363 | 609 | 200k+ | Non Prefixed Variable Found | |
| #441 | Download Plugin | 31 | 78 | 102 | 50k+ | Missing Unslash | |
| #442 | EnvoThemes Demo Import | 31 | 221 | 140 | 3k+ | Output Not Escaped | |
| #443 | FastDup – Fastest WordPress Migration & Duplicator | 31 | 83 | 66 | 5k+ | wp function not compatible with requires wp | |
| #444 | Easy HTTPS Redirection (SSL) | 31 | 224 | 100 | 100k+ | Unsafe Printing Function | |
| #445 | MainWP Dashboard: Self-hosted WordPress Management for Agencies | 31 | 95 | 317 | 20k+ | Interpolated Not Prepared | |
| #446 | Qode Essential Addons | 31 | 55 | 295 | 10k+ | Non Prefixed Variable Found | |
| #447 | Query Monitor | 31 | 44 | 273 | 200k+ | Non Prefixed Class Found | |
| #448 | Rank Math SEO – AI SEO Tools to Dominate SEO Rankings | 31 | 45 | 373 | 4m+ | Non Prefixed Variable Found | |
| #449 | SpeedyCache – Cache, Optimization, Performance | 31 | 65 | 115 | 600k+ | Input Not Validated | |
| #450 | Staatic – Static Site Generator for WordPress | 31 | 420 | 195 | 2k+ | Not Prepared |