Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save vevgeniy85/c3160da26691f9bd653f91223095459c to your computer and use it in GitHub Desktop.
Save vevgeniy85/c3160da26691f9bd653f91223095459c to your computer and use it in GitHub Desktop.
Clean Media Library from broken images. Delete attachments which files no longer available and return 404 error [Wordpress]
function delete_404_attachments(){
$attachments = get_posts( array(
'post_type' => 'attachment',
'numberposts' => -1,
'fields' => 'ids'
));
if ($attachments) {
foreach ($attachments as $attachmentID){
$file_url = wp_get_attachment_url( $attachmentID);
$file_headers = @get_headers($file_url);
if($file_headers[0] == 'HTTP/1.1 404 Not Found') {
$deleted = wp_delete_attachment($attachmentID, true);
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment