Skip to content

Instantly share code, notes, and snippets.

@sabrina-zeidan
Last active February 8, 2024 07:29
Show Gist options
  • Select an option

  • Save sabrina-zeidan/efafd952f2453edf4a6471d09cdfa747 to your computer and use it in GitHub Desktop.

Select an option

Save sabrina-zeidan/efafd952f2453edf4a6471d09cdfa747 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);
}
}
}
}
@sprocker

sprocker commented Dec 18, 2017 •

Copy link
Copy Markdown

Not used anything like this before - where would I add this? to the funcitons.php file? then how would I run it?

@mgip

mgip commented Mar 31, 2020

Copy link
Copy Markdown

good question

@FarhangQ

FarhangQ commented Feb 8, 2024

Copy link
Copy Markdown

You can action init.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment