Πώς να διαγράψετε αυτόματα τις εικόνες του προϊόντος WooCommerce, μαζί με το προϊόν

Ακόμη και αν WooCommerce είναι μια πολύ στιβαρή πλατφόρμα αγορών που έχει αναπτυχθεί πολύ τα τελευταία χρόνια, υπάρχουν ακόμα πολλές επιλογές που λείπουν. Ένα από αυτά είναι η δυνατότητα αυτόματης διαγραφής των εικόνων του προϊόντος WooCommerce όταν ένα προϊόν διαγράφεται.

Πιο συγκεκριμένα, όταν διαγράφουμε ένα προϊόν από WooCommerce, οι εικόνες που σχετίζονται με αυτό παραμένουν στον διακομιστή. Ένα ηλεκτρονικό κατάστημα με χιλιάδες προϊόντα θα συγκεντρώσει σημαντικό αριθμό εικόνων. Εάν αυτές οι εικόνες δεν διαγραφούν μαζί με τα προϊόντα, τότε με την πάροδο του χρόνου θα καταλάβουν σημαντικό χώρο αποθήκευσης.

Όταν μέσα WooCommerce προστίθεται ένα νέο προϊόν, τουλάχιστον η εικόνα της παρουσίασης θα αντιγραφεί τουλάχιστον τρεις - τέσσερις φορές, σε διαφορετικά μεγέθη. Υπάρχουν μερικά themes της Woo που μπορεί να δημιουργήσει έως και 10 αντίγραφα της αρχικής εικόνας, για διαφορετικές διατάξεις.

Η καλύτερη λύση για τη βελτιστοποίηση του χώρου που καταλαμβάνουν οι εικόνες προϊόντων στον διακομιστή web hosting είναι να διαγραφούν μαζί με τα προϊόντα που αφαιρούνται από το ηλεκτρονικό κατάστημα.

Πώς να διαγράψετε αυτόματα τις εικόνες του προϊόντος WooCommerce όταν διαγράφετε προϊόντα

Έχω ένα ηλεκτρονικό κατάστημα που έχει λινάρι media library 23.567 εικόνες, τα περισσότερα από τα προϊόντα WooCommerce. Εάν επρόκειτο να διαγράψω τα προϊόντα που δεν είναι πλέον σε απόθεμα, οι εικόνες θα παρέμεναν στη βιβλιοθήκη πολυμέσων (στον διακομιστή).

Εικόνες προϊόντων στη βιβλιοθήκη πολυμέσων
Εικόνες προϊόντων στη βιβλιοθήκη πολυμέσων

Για να διαγράψετε αυτόματα τις εικόνες του προϊόντος WooCommerce, μαζί με τα προϊόντα, το μόνο που έχετε να κάνετε είναι να προσθέσετε τον ακόλουθο κώδικα στο αρχείο functions.php του ενεργού θέματος:

*Συνιστάται ανεπιφύλακτα να δημιουργήσετε πρώτα αντίγραφο ασφαλείας του φακέλου 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 );
        }
    }
}

Καλό είναι να γνωρίζετε ότι αφού αποθηκεύσετε τον παραπάνω κωδικό στο functions.php, οι εικόνες του προϊόντος θα διαγραφούν αυτόματα, μαζί με το προϊόν. Όταν τα προϊόντα διαγράφονται επίσης από "Trash".

Πώς να διαγράψετε αυτόματα τις εικόνες του προϊόντος WooCommerce, μαζί με το προϊόν
Διαγραφή WooCommerce Εικόνα προϊόντος

Μαζί με τα προϊόντα που αφαιρέθηκαν από το ηλεκτρονικό κατάστημα Διαγράφηκαν επίσης 3336 εικόνες που συνδέονται. Ένας αρκετά σημαντικός αριθμός, που θα είχε καταλάβει περιττό χώρο στον διακομιστή φιλοξενίας ιστοσελίδων.

Μην χρησιμοποιείτε αυτήν την επιλογή εάν χρησιμοποιείτε τις ίδιες εικόνες για πολλά προϊόντα. Θα διαγραφούν αυτόματα εάν αφαιρεθεί ένα προϊόν στο οποίο υπάρχουν.

Παθιασμένος με την τεχνολογία, γράφω με ευχαρίστηση στο StealthSettings.com από το 2006. Έχω εκτενή εμπειρία σε λειτουργικά συστήματα: macOS, Windows και Linux, καθώς και σε γλώσσες προγραμματισμού και πλατφόρμες για blogs (WordPress) και για online καταστήματα (WooCommerce, Magento, PrestaShop).

πώς να » WordPress » Πώς να διαγράψετε αυτόματα τις εικόνες του προϊόντος WooCommerce, μαζί με το προϊόν

3 σκέψεις σχετικά με το "Πώς γίνεται αυτόματη διαγραφή εικόνων προϊόντων στο WooCommerce, μαζί με το προϊόν"

  1. Ο Genau was ich gesucht bzw. χρειάζεται habe 👍

    Das PlugIn das ich bisher genutzt habe, funktionierte nicht so versältigte wie dieses Snippet

    Vielen Dank, das erspart mir einen Haufen Arbeit und viel Zeit

    απάντηση
Αφήστε ένα σχόλιο