web-dev-qa-db-fra.com

Comment supprimer toutes les images de Wordpress

Je veux supprimer toutes les images. Par tout, je veux dire des images de la médiathèque ainsi que des posts. J'ai 4000 images dans le répertoire de téléchargement wordpress et chaque image est attachée à un post.

En "détachant" et en supprimant définitivement une image, Media Manger ne supprime pas l'image de la publication. :(

J'ai cherché et n'ai trouvé aucun plugin. Il existe un plugin pour rechercher et supprimer toutes les images non attachées/non utilisées. Mais je veux supprimer toutes les images utilisées de Media Manager, Posts et de toute référence de base de données ...

C'est une grande communauté et j'espère pouvoir résoudre ce problème ...

Merci! Rohit

1
ShadowKiller

Vous pouvez essayer ce qui suit, je n'ai pas encore testé, alors faites attention aux fautes de frappe ou aux erreurs:

$all_posts = get_posts(array(
    'numberposts' => - 1,
    'post_status' => 'any',
    'post_type' => get_post_types('', 'names') ,
));

foreach($all_posts as $all_post) {
    delete_post_media($all_post->ID);
}

function delete_post_media($post_id)
{
    if (!isset($post_id)) return;
    elseif ($post_id == 0) return;
    elseif (is_array($post_id)) return;
    else {
            $attachments = get_posts(array(
                    'post_type' => 'attachment',
                    'posts_per_page' => - 1,
                    'post_status' => 'any',
                    'post_parent' => $post_id
            ));
            foreach($attachments as $attachment) {
                    if (false === wp_delete_attachment($attachment->ID)) {

                            // Log failure to delete attachment.

                    }
            }
    }
}
2
Malisa