même si WooCommerce est une plateforme d'achat très robuste qui s'est beaucoup développée ces dernières années, il manque encore de nombreuses options. L'un d'eux est la possibilité de supprimer automatiquement les images du produit WooCommerce lorsqu'un produit est supprimé.
Plus précisément, lorsque nous supprimons un produit de WooCommerce, les images qui lui sont associées restent sur le serveur. Une boutique en ligne avec des milliers de produits rassemblera un nombre important d'images. Si ces images ne sont pas supprimées avec les produits, elles occuperont au fil du temps une quantité importante d'espace de stockage.
Quand à WooCommerce un nouveau produit est ajouté, au moins l'image de présentation sera dupliquée au moins trois à quatre fois, dans des tailles différentes. Il y a quelques themes par Woo qui peut faire jusqu'à 10 copies de l'image originale, pour différentes mises en page.
La meilleure solution pour optimiser l'espace occupé par les images des produits sur le serveur d'hébergement Web consiste à les supprimer avec les produits supprimés de la boutique en ligne.
Comment supprimer automatiquement les images de produits dans WooCommerce lorsque vous supprimez des produits
J'ai une boutique en ligne qui a du lin media library 23.567 XNUMX photos, la plupart des produits WooCommerce. Si je supprimais les produits qui ne sont plus en stock, les images resteraient dans la médiathèque (sur le serveur).
Pour supprimer automatiquement les images du produit dans WooCommerce, ainsi que les produits, il suffit d'ajouter le code suivant dans le fichier functions.php du thème actif :
*Il est fortement recommandé de faire une sauvegarde du dossier au préalable wp-content/uploads
.
// 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 );
}
}
}
Il est bon de savoir qu'après avoir enregistré le code ci-dessus dans functions.php
, les images du produit seront supprimées automatiquement, avec le produit. Lorsque les produits sont également supprimés de "Trash" .
Avec les produits retirés de la boutique en ligne 3336 images ont également été supprimées associée. Un nombre assez important, qui aurait occupé un espace inutile sur le serveur d'hébergement web.
- Comment personnaliser la page "Aucun produit correspondant à votre sélection n'a été trouvé" dans WooCommerce - Optimisation des ventes sur les boutiques en ligne
- Comment nettoyer un énorme wp_options en SQL - Transitoires, wpseo_sitemap _cache_validator
- Comment supprimer rapidement toutes les commandes (Commandes) de WooCommerce [Astuces SQL]
- CORRECTIFS ÉNORMES tables SQL : wp_actionscheduler_actions & wp_actionscheduler_logs [WooCommerce Conseils]
- Comment décocher par défaut “Ship to different address” à partir de la page de paiement un Woocommerce
N'utilisez pas cette option si vous utilisez les mêmes images pour plusieurs produits. Ils seront supprimés automatiquement si un produit dans lequel ils sont présents est supprimé.
Cela a aidé, merci !
Grazie mille, tu as résolu un gros problème pour moi.
Genau était ich gesucht bzw. besoin d'habe 👍
Ce PlugIn das ich bisher genutzt habe, funktionierte nicht so versältigte wie dieses Snippet
Vielen Dank, das erspart mir einen Haufen Arbeit et viel Zeit