Skip to content

Instantly share code, notes, and snippets.

@ascottmccauley
Created December 14, 2016 14:13
Show Gist options
  • Save ascottmccauley/f0e92ea95f0aa4689caed1decd69423c to your computer and use it in GitHub Desktop.
Save ascottmccauley/f0e92ea95f0aa4689caed1decd69423c to your computer and use it in GitHub Desktop.
Delete Folders Cron Event
// delete previous days folders
function delete_old_folders() {
$uploads = wp_upload_dir();
$uploadPath = trailingslashit( $uploads['path'] ) . 'user-uploads/';
$folders = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($uploadPath, RecursiveDirectoryIterator::SKIP_DOTS),
RecursiveIteratorIterator::CHILD_FIRST
);
foreach( $folders as $name => $folder ){
if( $name !== $uploadPath
&& $name !== $uploadPath . date('Y')
&& $name !== $uploadPath . date('Y') . '/' . date('m')
&& strpos($name, date('Y') . '/' . date('m') . '/' . date('d')) === false
) {
$todo = ($folder->isDir() ? 'rmdir' : 'unlink');
$todo($folder->getRealPath());
}
}
}
if (! wp_next_scheduled ( 'delete_old_folders' )) {
wp_schedule_event(time(), 'daily', 'delete_old_folders');
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment