WordPress.WP.AlternativeFunctions.file_system_operations_fwrite

file system operations fwrite

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
#651Embed Plus for YouTube Gallery, Livestream and Lazy Loading with Facades34571195100k+Output is not escaped
#652Abandoned Checkout Recovery & Order Notifications for WooCommerce3510877800Text Domain Mismatch
#653Air WP Sync – Airtable to WordPress3537451k+Non-prefixed hook name
#654Cloudflare352885200k+Non-prefixed namespace
#655CompressX — AVIF & WebP Converter, Media Replacement352642340k+Missing nonce verification
#656Cookies and Content Security Policy3526141210k+Output is not escaped
#657Custom CSS and JavaScript35389110k+Input is not sanitized
#658Nexi Checkout35453083k+Dynamic hook name
#659Dintero Checkout for WooCommerce Payment Methods355848600Text Domain Mismatch
#660External Links Overview3557200800Non-prefixed global variable
#661Windows Compatibility Fix351361k+Plugin Directory Write
#662Full Width Banner Slider Wp352391402k+Output is not escaped
#663Gumlet – Image optimization with Resize, Compression, Lazy load, Caching & CDN delivery355345500parse url parse url
#664Image Watermark358518140k+Missing nonce verification
#665Import Users & Customers with Meta | WP Ultimate CSV Importer Add-on35271405k+Interpolated SQL is not prepared
#666Instant CSS3525253k+Output is not escaped
#667Static Site Exporter355425500file system operations mkdir
#668Kustom Checkout for WooCommerce3510150510k+Dynamic hook name
#669Lenix scss compiler3513334800Exception output is not escaped
#670Less PHP Compiler35163473k+Exception output is not escaped
#671Media Credit3528351k+Non-prefixed global variable
#672Movylo Marketing Automation353888700error log print r
#673NewsPlugin358453400Text Domain Mismatch
#674NS Cloner – Site Cloner and Multisite Duplicator3529167k+Missing direct file access protection
#675Meta pixel for WordPress359040400k+Exception output is not escaped
#676OPcache Reset3597400Non-prefixed function
#677Plausible Analytics352446110k+Exception output is not escaped
#678Post List Featured Image35112100900Output is not escaped
#679QuickWebP – Compress / Optimize Images & Convert WebP | SEO Friendly352251108k+Non Singular String Literal Domain
#680ReviewX – Multi-Criteria Reviews for WooCommerce with Google Reviews & Schema3514207k+error log error log
#681Security Optimizer – The All-In-One Protection Plugin3540861m+Input is not sanitized
#682Simple History – Track, Log, and Audit WordPress Changes3532122300k+Non-prefixed global variable
#683String locator3552319100k+Non-prefixed global variable
#684The Courier Guy Shipping for WooCommerce35571073k+Missing nonce verification
#685Vendi Abandoned Plugin Check351331k+trademarked term
#686Video Grid352531061k+Output is not escaped
#687Video Gallery35336178600Output is not escaped
#688ShipStation Live Rates for WooCommerce3540273900Non Singular String Literal Domain
#689Kybernaut IČO DIČ3579682k+Missing nonce verification
#690Easy Accept Payments via PayPal353221287k+Text Domain Mismatch
#691Database Backup for WordPress351288870k+Output is not escaped
#692WP-Paginate35375520k+Input is not validated
#693WP PGP Encrypted Emails356339400Output is not escaped
#694video carousel slider with lightbox353501361k+Output is not escaped
#695WSB HUB335361091k+Missing nonce verification
#696XServer Migrator35395310k+Interpolated SQL is not prepared
#697Yabe Webfont – Use Custom Fonts, Google Fonts or Adobe Fonts35481145k+Non-prefixed hook name
#698YML for Yandex Market351828810k+Non-prefixed global variable
#699bpost shipping369743700Output is not escaped
#700Cashflows for WooCommerce3611936600Text Domain Mismatch