WordPress.WP.AlternativeFunctions.file_system_operations_is_writable

file system operations is writable

The plugin performs filesystem work with raw PHP functions where WordPress expects safer filesystem handling.

medium weight

Why It Shows Up

Plugin Check found functions such as `fopen`, `fwrite`, `chmod`, `mkdir`, `readfile`, or related operations.

Why It Matters

WordPress sites can use different filesystem permissions and transports. Raw filesystem calls can fail on common hosts or write to unsafe locations.

How to Fix

  • Use WordPress filesystem helpers when writing, reading, or changing files in plugin-managed paths.
  • Validate paths and keep writes inside directories owned by the plugin or WordPress uploads.
  • Never write PHP code from user input or remote responses.

Affected Plugins

RankPluginScoreErrorsWarningsInstallsAddedUpdatedTop Issue
#451Debug Log Manager Tool34441433k+Nonce verification recommended
#452Export Customers Data3410949500Text Domain Mismatch
#453FV Gravatar Cache345042700Output is not escaped
#454Gratisfaction- Loyalty, Rewards , Referral, Birthday and Giveaway Program34131352600Missing nonce verification
#455Media Vault34115150800Output is not escaped
#456NextGEN Gallery Optimizer34128922k+Output is not escaped
#457PushEngage – Web Push Notifications, WooCommerce Automation & Chat Widget34462989k+Missing nonce verification
#458Shift8 CDN348125600Output is not escaped
#459Weaver Xtreme Theme Support341,625439k+Text Domain Mismatch
#460Email Template Designer – WP HTML Mail34628020k+badly named files
#461Thumbnail Slider With Lightbox34244141700Output is not escaped
#462Thumbnail carousel slider342771432k+Output is not escaped
#463WP-SCSS342691340k+Exception output is not escaped
#464Vertical Image Slider342641381k+Output is not escaped
#465Xml Sitemap Generator347247400SQL query is not prepared
#466Zero Spam for WordPress347939320k+Non-prefixed global variable
#467Abandoned Checkout Recovery & Order Notifications for WooCommerce3510877800Text Domain Mismatch
#468Brightcove Video Connect35580235600Text Domain Mismatch
#469Brozzme DB Prefix & Tools Addons35244210k+Request data is not unslashed
#470Cache Enabler35447590k+Input is not sanitized
#471Disable XML-RPC-API3544452100k+Text Domain Mismatch
#472EWWW Image Optimizer352257291m+Direct Query
#473Full Width Banner Slider Wp352391402k+Output is not escaped
#474Imsanity353229200k+Direct Query
#475Lenix scss compiler3513334800Exception output is not escaped
#476Less PHP Compiler35163473k+Exception output is not escaped
#477OPcache Reset3597400Non-prefixed function
#478Page Optimize357041200k+Non Singular String Literal Domain
#479Push Notifications by LaraPush3532764k+Non-prefixed global variable
#480ReviewX – Multi-Criteria Reviews for WooCommerce with Google Reviews & Schema351017k+Missing direct file access protection
#481Security Optimizer – The All-In-One Protection Plugin3540821m+Request data is not unslashed
#482Simple History – Track, Log, and Audit WordPress Changes3532122300k+Non-prefixed global variable
#483Solid Performance – Your No-Code Caching, Performance, & Page Speed Solution3575614k+Exception output is not escaped
#484Square Thumbnails3543317800error log error log
#485Starter Sites & Templates by Neve352888100k+Non-prefixed hook name
#486Termageddon: Cookie Consent & Privacy Compliance3528137k+Exception output is not escaped
#487Video Grid352531061k+Output is not escaped
#488Video Gallery35336178600Output is not escaped
#489Converter for Media – Optimize images | Convert WebP & AVIF3513353500k+curl curl setopt
#490Pixel Manager for WooCommerce – Conversion Tracking, Google Ads, GA4, TikTok, Dynamic Remarketing354923050k+Non-prefixed hook name
#491WP Geo3518084900Output is not escaped
#492WP GPX Maps35271004k+Non-prefixed global variable
#493WPGraphQL35108630k+Non-prefixed hook name
#494video carousel slider with lightbox353501361k+Output is not escaped
#495Cashflows for WooCommerce3611836600Text Domain Mismatch
#496Constant Contact Forms36398920k+Missing nonce verification
#497Continuous Image Carousel With Lightbox362551291k+Output is not escaped
#498Custom PHP Settings361537610k+Output is not escaped
#499Dashboard Widgets Suite362061244k+Output is not escaped
#500Export Variable Products367949400Text Domain Mismatch