WordPress Version: 6.4
/**
* Deletes all contents in the temporary backup directory.
*
* @since 6.3.0
*
* @access private
*
* @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass.
*
* @return void|WP_Error Void on success, or a WP_Error object on failure.
*/
function _wp_delete_all_temp_backups()
{
global $wp_filesystem;
if (!function_exists('WP_Filesystem')) {
require_once ABSPATH . '/wp-admin/includes/file.php';
}
ob_start();
$credentials = request_filesystem_credentials('');
ob_end_clean();
if (false === $credentials || !WP_Filesystem($credentials)) {
return new WP_Error('fs_unavailable', __('Could not access filesystem.'));
}
if (!$wp_filesystem->wp_content_dir()) {
return new WP_Error(
'fs_no_content_dir',
/* translators: %s: Directory name. */
sprintf(__('Unable to locate WordPress content directory (%s).'), 'wp-content')
);
}
$temp_backup_dir = $wp_filesystem->wp_content_dir() . 'upgrade-temp-backup/';
$dirlist = $wp_filesystem->dirlist($temp_backup_dir);
$dirlist = $dirlist ? $dirlist : array();
foreach (array_keys($dirlist) as $dir) {
if ('.' === $dir || '..' === $dir) {
continue;
}
$wp_filesystem->delete($temp_backup_dir . $dir, true);
}
}