Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
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);

This comment has been minimized.

Copy link

commented Dec 18, 2017

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.