WordPress.WP.AlternativeFunctions.file_system_operations_mkdir

file system operations mkdir

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
#501Post List Featured Image35112100900Output is not escaped
#502QuickWebP – Compress / Optimize Images & Convert WebP | SEO Friendly352251108k+Non Singular String Literal Domain
#503The Courier Guy Shipping for WooCommerce35571073k+Missing nonce verification
#504User Photo35112683k+Output is not escaped
#505Vendi Abandoned Plugin Check351331k+trademarked term
#506Converter for Media – Optimize images | Convert WebP & AVIF3513353500k+curl curl setopt
#507Pixel Manager for WooCommerce – Conversion Tracking, Google Ads, GA4, TikTok, Dynamic Remarketing355023650k+Non-prefixed hook name
#508Wooplatnica352724400Non-prefixed class
#509WP Compiler3533201k+Output is not escaped
#510Database Backup for WordPress351288870k+Output is not escaped
#511WP Geo3518084900Output is not escaped
#512WP GPX Maps35271004k+Non-prefixed global variable
#513XServer Migrator35395310k+Interpolated SQL is not prepared
#514bpost shipping369743700Output is not escaped
#515CP Blocks3646381k+wp function not compatible with requires wp
#516Crelly Slider3642118510k+Unsafe printing function
#517Rara One Click Demo Import361229820k+Missing Translators Comment
#518SMTP for SendGrid – YaySMTP3627961k+Non-prefixed global variable
#519StaticPress368879500Output is not escaped
#520Supplier Order Email3654105400Output is not escaped
#521SurveyJS: Drag & Drop Form Builder3612134500Missing Version
#522PDF Flipbook, WPBakery Addon – Unreal FlipBook36400921k+Non Singular String Literal Domain
#523Shipping with Venipak for WooCommerce36239611k+Text Domain Mismatch
#524Export Themes36122902k+Non-prefixed constant
#525WP LaTeX3610312700Output is not escaped
#526wpShopGermany IT-RECHT KANZLEI363747500Input is not sanitized
#527Adaptive Images for WordPress3751753k+Output is not escaped
#528JVM Rich Text Icons3787343k+Output is not escaped
#529Sensei LMS Certificates37973624k+Non-prefixed global variable
#530TelSender – Сontact form 7, Events, Wpforms, ninja forms and woocommerce to telegram bot3748406k+Unsafe printing function
#531Theme Builder For Elementor37477282k+Text Domain Mismatch
#532Tracking Code Manager37554290k+Output is not escaped
#533Fix Media Library3753711k+Output is not escaped
#534Anant Sites — Elementor & Gutenberg Readymade Template Library Free & Pro Templates38201561k+Non-prefixed global variable
#535Automatic Post Tagger385923072k+Output is not escaped
#536Checkout Files Upload for WooCommerce38571207k+Input is not sanitized
#537Clever Mega Menu for Visual Composer38500871k+Output is not escaped
#538Crop-Thumbnails38332740k+Missing direct file access protection
#539Import to Photo Gallery from NextGen gallery388083400Direct Query
#5403D FlipBook – PDF Embedder, PDF Flipbook Viewer, Flipbook Image Gallery383537780k+Non Singular String Literal Domain
#541Migrate Store: Export and Import WooCommerce Settings3837331k+Non-prefixed global variable
#542Products Coming Soon for WooCommerce3815162700Output is not escaped
#543WP Safe Mode3895552k+Output is not escaped
#544Block Editor Bootstrap Blocks3917350900Text Domain Mismatch
#545Dashboard Cleaner394091500Missing nonce verification
#546GoSMTP – SMTP for WordPress395942500k+Output is not escaped
#547Library Viewer396593400Non-prefixed hook name
#548QR Redirector3948544k+Output is not escaped
#549Rollbar397514400Output is not escaped
#550Use Any Font | Custom Font Uploader393655200k+Request data is not unslashed