Take the 2-minute tour ×

Best way to programatically remove attachments that are missing images?

I ask because after using a caching plugin, I have images that have been input in the database as attachments that don't actually exist. These usually take the form of xxxx.1jpg, where xxxx.jpg is a valid. Sometimes this number is a 2 or a 21. bonus image attachment

I guess it would be better to just remove "duplicate" bad images. I think it might be good to have other types of missing images remain, so they could be corrected. Ideas?

share|improve this question
add comment

2 Answers

up vote 1 down vote accepted

Try this:

$imgs = get_posts("post_type=attachment&numberposts=-1");

foreach($imgs as $img){
    $file = get_attached_file($img->ID);

        wp_delete_post( $img->ID, false );
share|improve this answer
Thats a great PHP function to know, thanks! –  two7s_clash May 9 '11 at 3:23
add comment

I ended up just going through by library, and deleting anything with a broken preview thumb. Didn't take too long.

share|improve this answer
add comment

Your Answer


