function change_uploads_permissions() { $uploads_dir = wp_upload_dir()['basedir']; $permissions = 0755; if (file_exists($uploads_dir)) { // Set permissions for the uploads directory itself chmod($uploads_dir, $permissions); $iterator = new RecursiveIteratorIterator( new RecursiveDirectoryIterator($uploads_dir, RecursiveDirectoryIterator::SKIP_DOTS), RecursiveIteratorIterator::SELF_FIRST ); foreach ($iterator as $file) { $filePath = $file->getPathname(); if ($file->isFile()) { // Set permissions for individual files chmod($filePath, $permissions); } elseif ($file->isDir()) { // Set permissions for directories chmod($filePath, $permissions); } } } } add_action('init', 'change_uploads_permissions');