Comment supprimer les images WooCommerce inutilisées de votre marché Dokan
Publié: 2022-04-06Vous recherchez des solutions pour supprimer des images tout en supprimant en masse des produits WooCommerce ?
Lors de la gestion d'une entreprise en ligne, vous devez être vigilant. Vous devez être au courant de tout, comme la mode tendance, les nouvelles tendances et les produits obsolètes de votre magasin. Vous pouvez maintenir votre site à jour avec les derniers produits qui sont plus susceptibles d'être vendus.
Afin de maintenir votre boutique à jour, vous devez parfois supprimer certains produits qui n'ont pas été vendus depuis longtemps ou des produits hors saison. Pour une boutique WooCommerce, vous pouvez facilement le faire en utilisant le paramètre WooCommerce par défaut ou en exécutant une commande SQL.
Mais le problème est que WordPress ne supprime pas les médias lors de la suppression d'un message. Cela pourrait être un problème majeur pour un site de commerce électronique ou un marché ayant des milliers d'images de haute qualité.
Dans le blog suivant, vous apprendrez comment supprimer les images WooCommerce de la galerie lors de la suppression d'un produit pour un seul magasin et un marché multifournisseur.
Pourquoi vous devriez supprimer les images de produits WooCommerce après avoir supprimé ce produit
Vous devez télécharger de nombreux produits avec des milliers d'images associées pour votre boutique en ligne. Et parfois, il est également très normal de supprimer certains produits de votre site pour certaines raisons. Après avoir supprimé un produit, si vous vérifiez votre médiathèque, vous trouverez toutes les images qui ont été utilisées pour vos produits supprimés.
Cela signifie qu'après avoir supprimé un produit dans WooCommerce, le système supprime la plupart des données qui lui sont associées. Mais l'image de ce produit restera dans la base de données et le dossier multimédia. Cela alourdira inutilement votre site.
Avantages de la suppression des images de produits après la suppression de ce produit |
1. Améliorer les performances du site |
2. Augmentez la vitesse du magasin en minimisant le stockage du serveur |
3. Gardez le site léger |
4. Créez plus d'espace pour le téléchargement ultérieur |
5. Optimiser la base de données du magasin |
Pour les propriétaires de places de marché, le scénario est un peu plus complexe. Il est extrêmement difficile de surveiller tous les fichiers multimédias téléchargés par différents fournisseurs. Puisqu'un fournisseur télécharge éventuellement un bon nombre de produits chaque jour et supprime également de nombreux produits existants. À leur tour, leurs images de produits peuvent réduire l'espace de votre serveur, ce qui n'est pas bon pour les performances de votre site.
Dans ce cas, il serait avantageux de supprimer toutes les images présentées et l'image de la galerie si l'utilisateur/le vendeur supprime un produit.
Mais un autre problème peut survenir si quelqu'un utilise les mêmes images sur plusieurs publications.
Eh bien, aujourd'hui, nous allons vous montrer des solutions pour gérer tous ces obstacles.
Comment supprimer des images Woocommerce après avoir supprimé un produit ?
Ici, nous allons utiliser le hook : before_delete_post
. Vérifiez les détails de ce crochet ici.
Suivez les étapes ci-dessous pour supprimer les images non utilisées lors de la suppression en masse des produits WooCommerce :
- Étape 1 : créer un thème enfant
- Étape 2 : implémentez le code dans votre thème enfant
- Étape 3 : Vérifiez le résultat pour votre boutique en ligne
Étape 1 : créer un thème enfant
Tout d'abord, créez un thème enfant. Vous devez modifier ce thème enfant car cette amélioration est liée au thème.
Vous pouvez suivre ce guide pour créer facilement un thème enfant. Ou utilisez n'importe quel plugin WordPress pour créer un thème enfant.
Étape 2 : implémentez le code dans votre thème enfant
Ensuite, ouvrez votre enfant-theme functions.php et collez le code ci-dessous-
// Automatically Delete Woocommerce Images After Deleting a Product add_action( 'before_delete_post', 'delete_product_images', 10, 1 ); function delete_product_images( $post_id ) { $product = wc_get_product( $post_id ); if ( !$product ) { return; } $featured_image_id = $product->get_image_id(); $image_galleries_id = $product->get_gallery_image_ids(); if( !empty( $featured_image_id ) ) { wp_delete_post( $featured_image_id ); } if( !empty( $image_galleries_id ) ) { foreach( $image_galleries_id as $single_image_id ) { wp_delete_post( $single_image_id ); } } }
Étape 3 : Vérifiez le résultat pour votre boutique en ligne
Après avoir inséré le code, enregistrez le fichier functions.php. Allez maintenant dans votre boutique WooCommerce et supprimez un produit. Il supprimera également les images associées.
Comment supprimer les images de produits WooCommerce sur le marché Dokan
Nous allons maintenant vous montrer comment supprimer des images Woocommerce après avoir supprimé des produits sur un marché. Il vous aide à libérer de l'espace sur le serveur et à réduire l'encombrement de la médiathèque.
Dans ce cas, collez l'extrait de code ci-dessous dans le fichier functions.php de votre thème.
<?php add_action( 'before_delete_post', function( $id ) { $product = wc_get_product( $id ); if ( ! $product ) { return; } $all_product_ids = []; $product_thum_id_holder = []; $gallery_image_id_holder = []; $thum_id = get_post_thumbnail_id( $product->get_id() ); if ( function_exists( 'dokan' ) ) { $vendor = dokan()->vendor->get( dokan_get_current_user_id() ); if ( ! $vendor instanceof WeDevs\Dokan\Vendor\Vendor || $vendor->get_id() === 0 ) { return; } $products = $vendor->get_products(); if ( empty( $products->posts ) ) { return; } foreach ( $products->posts as $post ) { array_push( $all_product_ids, $post->ID ); } } else { $args = [ 'posts_per_page' => '-1' ]; $products = wc_get_products( $args ); foreach ( $products as $product ) { array_push( $all_product_ids, $product->get_id() ); } } foreach ( $all_product_ids as $product_id ) { if ( intval( $product_id ) !== intval( $id ) ) { array_push( $product_thum_id_holder, get_post_thumbnail_id( $product_id ) ); $wc_product = wc_get_product( $product_id ); $gallery_image_ids = $wc_product->get_gallery_image_ids(); if ( empty( $gallery_image_ids ) ) { continue; } foreach ( $gallery_image_ids as $gallery_image_id ) { array_push( $gallery_image_id_holder, $gallery_image_id ); } } } if ( ! in_array( $thum_id, $product_thum_id_holder ) && ! in_array( $thum_id, $gallery_image_id_holder ) ) { wp_delete_attachment( $thum_id, true ); if ( empty( $thum_id ) ) { return; } $gallery_image_ids = $product->get_gallery_image_ids(); if ( empty( $gallery_image_ids ) ) { return; } foreach ( $gallery_image_ids as $gallery_image_id ) { wp_delete_attachment( $gallery_image_id, true ); } } } );
Désormais, chaque fois qu'un fournisseur supprime un produit du marché, les images du produit associé disparaissent automatiquement de la médiathèque.
Bonus : lorsque vous devez supprimer en bloc des produits WooCommerce
C'est une bonne idée de supprimer les images inutilisées de votre galerie multimédia. Ces images n'ajoutent aucune valeur à votre boutique. Au contraire, cela entrave les performances de votre site. Mais d'abord, vous devez décider quels produits vous devez supprimer de votre boutique en ligne.
Nous avons mis en évidence le type de produits que vous devrez peut-être supprimer en masse-
- Produits de saison
- Produits cycliques
- Produits en rupture de stock
- Produits non vendus
- Tester les produits
Produits saisonniers : Certains produits peuvent perdre leur demande après une période de temps spécifique. Vous pouvez ajouter de nouveaux produits d'hiver, par exemple, dans votre magasin en ciblant la période la plus froide de l'année. Mais après l'arrivée du printemps, la demande pour ces produits chuterait et bientôt ils seraient totalement hors de tendance. Et vous devez supprimer en masse les produits WooCommerce de votre boutique.
Produits cycliques : les stocks doivent être réapprovisionnés avec de nouveaux produits à intervalles réguliers. Par exemple, après un festival spécial, vous devez supprimer les anciens produits du magasin et en télécharger de nouveaux.
Produits en rupture de stock : Produits qui ne sont pas disponibles dans le stock et moins de possibilité de se réapprovisionner, il serait préférable de se débarrasser de ces produits.
Produits non vendus : si vous avez des produits dans votre stock qui ne sont pas couramment vendus, vous devez supprimer ces produits de votre boutique. Parce que ces produits ne feront qu'augmenter votre responsabilité et gaspiller votre espace.
Tester les produits : plusieurs fois avant de lancer le produit d'origine, vous devez introduire de nombreux produits de test pour voir s'il fonctionne bien. Une fois que vous lancez le produit principal, il est préférable de supprimer les produits de test.
Ressource connexe : Types de produits que vous pouvez créer avec WooCommerce !
À vous
Il peut y avoir plusieurs situations dans lesquelles vous devez supprimer en masse des produits WooCommerce. Et ce ne serait pas difficile en tant qu'utilisateur de WordPress. Mais vous rencontrez des difficultés lorsque, après la suppression d'un produit, les images du produit associé restent toujours dans la médiathèque.
Le guide ci-dessus vous aide à inclure un processus automatique pour supprimer des images lors de la suppression d'un produit dans WooCommerce.
Avez-vous encore des questions sur la façon de supprimer en bloc des produits WooCommerce et des images de produits avec des crochets d'action ? Faites le nous savoir dans les commentaires!