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 |
|---|---|---|---|---|---|---|---|---|
| #951 | Appointment Bookings for Zoom GoogleMeet and more – Wappointment | 81 | 22 | 52 | 1k+ | Non-prefixed class | ||
| #952 | Bulk Post Importer | 84 | 1 | 38 | 900 | Missing nonce verification | ||
| #953 | Nav Menu Roles | 84 | 3 | 18 | 70k+ | Non-prefixed hook name | ||
| #954 | Helpful – Article Feedback Plugin | 86 | 8 | 17 | 600 | Database parameter is not escaped | ||
| #955 | FormsCRM – Connect Forms to CRM directly | 86 | 5 | 8 | 1k+ | Missing direct file access protection | ||
| #956 | lazysizes | 86 | 12 | 3 | 600 | wp function not compatible with requires wp | ||
| #957 | Trusted Shops Easy Integration for WooCommerce | 86 | 5 | 67 | 6k+ | Non-prefixed hook name | ||
| #958 | Autolinks Manager – SEO Auto Linker | 87 | 7 | 16 | 1k+ | Database parameter is not escaped | ||
| #959 | Content Control – The Ultimate Content Restriction Plugin! Restrict Content, Create Conditional Blocks & More | 88 | 20 | 116 | 40k+ | Non-prefixed hook name | ||
| #960 | Transferito: WP Migration | 88 | 16 | 115 | 500 | Non-prefixed global variable | ||
| #961 | Slider by Soliloquy – Responsive Image Slider for WordPress | 90 | 470 | 29 | 30k+ | Text Domain Mismatch | ||
| #962 | Blockenberg — 600+ Advanced Gutenberg Blocks for WordPress Block Editor | 91 | 4 | 6 | 600 | block api version too low | ||
| #963 | Loop Post Navigation Links | 91 | 7 | 5 | 600 | Missing Arg Domain | ||
| #964 | Themebeez Toolkit | 91 | 26 | 78 | 8k+ | Non-prefixed class | ||
| #965 | WebAuthn Provider for Two Factor | 91 | 6 | 14 | 1k+ | Missing Arg Domain | ||
| #966 | Envira Gallery – Image Photo Gallery, Albums, Video Gallery, Slideshows & More | 92 | 17 | 65 | 100k+ | Non-prefixed global variable | ||
| #967 | Hoot Import | 92 | 1 | 10 | 1k+ | Direct Query | ||
| #968 | Single Category Permalink | 93 | 5 | 12 | 400 | Non-prefixed global variable | ||
| #969 | Themx Maximum Upload File Size | Increase Maximum Upload File Size | 93 | 17 | 14 | 1k+ | Text Domain Mismatch | ||
| #970 | Easy Theme and Plugin Upgrades | 94 | 29 | 20 | 70k+ | Discouraged PHP function | ||
| #971 | Gravity Forms IBAN | 94 | 7 | 21 | 500 | Non-prefixed function | ||
| #972 | Gravity Forms Zero Spam | 94 | 4 | 9 | 100k+ | trademarked term | ||
| #973 | Media from ZIP | 94 | 5 | 16 | 600 | Non-prefixed global variable | ||
| #974 | Bulk Media Register | 95 | 8 | 35 | 8k+ | Non-prefixed hook name | ||
| #975 | WING Website Migrator | 95 | 2 | 4 | 400 | Discouraged PHP function | ||
| #976 | Better Block Editor (BBE) | 96 | 2 | 51 | 5k+ | Non-prefixed global variable | ||
| #977 | Catch Themes Demo Import | 96 | 1 | 5 | 5k+ | Non-prefixed hook name | ||
| #978 | PWA | 96 | 34 | 3 | 20k+ | Missing direct file access protection | ||
| #979 | Acme Fix Images – Regenerate Thumbnails | 97 | 5 | 5 | 3k+ | Missing direct file access protection | ||
| #980 | DocsPress – Online Documentation | 97 | 16 | 3 | 400 | wp function not compatible with requires wp | ||
| #981 | Remove Meta Generators | 97 | 5 | 5 | 1k+ | wp function not compatible with requires wp | ||
| #982 | Schema Engine AI – AI Schema Markup, Reviews & Rich Snippets for SEO | 97 | 56 | 1 | 10k+ | wp function not compatible with requires wp | ||
| #983 | Spiraclethemes Site Library | 97 | 28 | 1k+ | Non-prefixed global variable | |||
| #984 | ZIP from Media | 97 | 4 | 16 | 400 | Non-prefixed global variable | ||
| #985 | Angie – Agentic AI (Beta) | 98 | 17 | 80k+ | Discouraged PHP function | |||
| #986 | BetterDocs – AI Documentation, Knowledge Base, Docs, Wikis, FAQ with Chatbot | 98 | 2 | 8 | 30k+ | Direct Query | ||
| #987 | Export/Import Media – CSV Media Library Import & Export | 98 | 7 | 4 | 1k+ | Missing Translators Comment | ||
| #988 | Copy Move Posts | 98 | 7 | 400 | Non-prefixed global variable | |||
| #989 | Inline Image Upload for BBPress | 98 | 3 | 1 | 3k+ | Missing direct file access protection | ||
| #990 | Plus WebP or AVIF | 98 | 24 | 5k+ | Non-prefixed global variable | |||
| #991 | WP Document Revisions | 98 | 7 | 7 | 2k+ | wp function not compatible with requires wp | ||
| #992 | XO Featured Image Tools | 98 | 4 | 3 | 30k+ | wp function not compatible with requires wp | ||
| #993 | Media Library Tools – AI-Powered Rename, Clean & CSV Import/Export | 99 | 1 | 4 | 1k+ | Discouraged PHP function | ||
| #994 | WP Debugging | 99 | 1 | 5 | 10k+ | trademarked term |