如何自動刪除 WooCommerce 中的產品圖片以及產品

儘管 WooCommerce 是一個非常強大的購物平台,近年來發展了很多,但仍然有很多缺失的選擇。 其中之一是可以在刪除產品時自動刪除 WooCommerce 中的產品圖像。

更準確地說,當我們從 WooCommerce 中刪除產品時,與其關聯的圖像仍保留在服務器上。 擁有數千種產品的在線商店將收集大量圖像。 如果不將這些圖片與產品一起刪除,那麼隨著時間的推移,它們將佔用大量存儲空間。

當在 WooCommerce 添加新產品,至少演示圖像將至少複製三到四次,大小不同。 有一些 themes Woo 可以為不同的佈局製作多達 10 個原始圖像的副本。

優化產品圖片在虛擬主機服務器上佔用空間的最佳解決方案是將它們與從在線商店中刪除的產品一起刪除。

如何在刪除產品時自動刪除 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 產品圖片

連同從網上商店下架的產品 3336張圖片也被刪除 聯繫。 一個相當重要的數字,它會在網絡託管服務器上佔用不必要的空間。

如果您對多個產品使用相同的圖像,請不要使用此選項。 如果刪除存在它們的產品,它們將被自動刪除。

Stealth: 對技術充滿熱情,我喜歡測試和編寫有關操作系統的教程 macOS, Linux, Windows, 關於 WordPress, WooCommerce 和配置 LEMP 網絡服務器 (Linux、NGINX、MySQL 和 PHP)。 我寫在 StealthSettings.com 自 2006 年以來,幾年後我開始撰寫 iHowTo.Tips 教程和有關生態系統中設備的新聞 Apple: iPhone,iPad, Apple 手錶,HomePod, iMac, MacBook、AirPods 和配件。
新的